LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 309|回复: 0

Javascript数据类型

[复制链接]
发表于 2024-1-11 17:13:41 | 显示全部楼层 |阅读模式
Boolean 类型(逻辑类型)
boolean 类型仅包含两个值:true 和 false。

这种类型通常用于存储表示 yes 或 no 的值:true 意味着 “yes,正确”,false 意味着 “no,不正确”。

比如:

let nameFieldChecked = true; // yes, name field is checked
let ageFieldChecked = false; // no, age field is not checked
布尔值也可作为比较的结果:

let isGreater = 4 > 1;

alert( isGreater ); // true(比较的结果是 "yes")
更详细的内容将会在 逻辑运算符 一节中介绍。

null 值
特殊的 null 值不属于上述任何一种类型。

它构成了一个独立的类型,只包含 null 值:

let age = null;
相比较于其他编程语言,JavaScript 中的 null 不是一个“对不存在的 object 的引用”或者 “null 指针”。

JavaScript 中的 null 仅仅是一个代表“无”、“空”或“值未知”的特殊值。

上面的代码表示 age 是未知的。

undefined 值
特殊值 undefined 和 null 一样自成类型。

undefined 的含义是 未被赋值。

如果一个变量已被声明,但未被赋值,那么它的值就是 undefined:

let age;

alert(age); // 弹出 "undefined"
从技术上讲,可以显式地将 undefined 赋值给变量:

let age = 100;

// 将值修改为 undefined
age = undefined;

alert(age); // "undefined"
……但是不建议这样做。通常,使用 null 将一个“空”或者“未知”的值写入变量中,而 undefined 则保留作为未进行初始化的事物的默认初始值。

Object 类型和 Symbol 类型
object 类型是一个特殊的类型。

其他所有的数据类型都被称为“原始类型”,因为它们的值只包含一个单独的内容(字符串、数字或者其他)。相反,object 则用于储存数据集合和更复杂的实体。

因为它非常重要,所以我们对其进行单独讲解。在充分学习了原始类型后,我们将会在 对象 一章中介绍 object。

symbol 类型用于创建对象的唯一标识符。我们在这里提到 symbol 类型是为了完整性,但我们要在学完 object 类型后再学习它。

typeof 运算符
typeof 运算符返回参数的类型。当我们想要分别处理不同类型值的时候,或者想快速进行数据类型检验时,非常有用。

对 typeof x 的调用会以字符串的形式返回数据类型:

typeof undefined // "undefined"

typeof 0 // "number"

typeof 10n // "bigint"

typeof true // "boolean"

typeof "foo" // "string"

typeof Symbol("id") // "symbol"

typeof Math // "object"  (1)

typeof null // "object"  (2)

typeof alert // "function"  (3)
最后三行可能需要额外的说明:

Math 是一个提供数学运算的内建 object。我们会在 数字类型 一节中学习它。此处仅作为一个 object 的示例。
typeof null 的结果为 "object"。这是官方承认的 typeof 的错误,这个问题来自于 JavaScript 语言的早期阶段,并为了兼容性而保留了下来。null 绝对不是一个 object。null 有自己的类型,它是一个特殊值。typeof 的行为在这里是错误的。
typeof alert 的结果是 "function",因为 alert 在 JavaScript 语言中是一个函数。我们会在下一章学习函数,那时我们会了解到,在 JavaScript 语言中没有一个特别的 “function” 类型。函数隶属于 object 类型。但是 typeof 会对函数区分对待,并返回 "function"。这也是来自于 JavaScript 语言早期的问题。从技术上讲,这种行为是不正确的,但在实际编程中却非常方便。
typeof(x) 语法

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表