Number 类型
let n = 123
n = 1.23
number 类型代表整数和浮点数。
特殊值:Infinity、-Infinity 和 NaN
- Infinity 代表 无穷大。
alert(1 / 0) // Infinity
alert(Infinity) // Infinity
- NaN 代表计算错误。
alert('num' / 2) // NaN
alert('num' / 2 + 5) // NaN
BigInt 类型
用于表示任意长度的整数。
可通过 n 附加到整数字段的末尾来创建 BigInt 值
// 尾部的 "n" 表示这是一个 BigInt 类型
const bigInt = 1234567890123456789012345678901234567890n;
Sring 类型
let name = 'Hello'
alert(`Hello,${name}!`)
alert(`this result is,${1+2}!`)
Boolean类型
true 和 false
null 值
代表“无”、“空”或“值未知”的特殊值。
undefined 值
undefined 的含义是 未被赋值。
object 类型和symbol类型
typeof 运算符
返回参数类型。
- 作为运算符:typeof x
- 函数形式符: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
- null 不是一个 object,它有自己的类型,是一个特殊值
- type alert 结果是 function,因为 alert 在 JavaScript中是一个函数。
总结
JavaScript 中有八种基本的数据类型(译注:前七种为基本数据类型,也称为原始类型,而 object 为复杂数据类型)。
- number 用于任何类型的数字:整数或浮点数,在 ±(253-1) 范围内的整数。
- bigint 用于任意长度的整数。
- string 用于字符串:一个字符串可以包含 0 个或多个字符,所以没有单独的单字符类型。
- boolean 用于 true 和 false。
- null 用于未知的值 —— 只有一个 null 值的独立类型。
- undefined 用于未定义的值 —— 只有一个 undefined 值的独立类型。
- symbol 用于唯一的标识符。
- object 用于更复杂的数据结构。
我们可以通过 typeof 运算符查看存储在变量中的数据类型。
- 两种形式:typeof x 或者 typeof(x)。
- 以字符串的形式返回类型名称,例如 “string”。
- typeof null 会返回 “object” —— 这是 JavaScript 编程语言的一个错误,实际上它并不是一个 object。