类型
# 类型
ECMAScript 类型又进一步细分为语言类型和规范类型。
ECMAScript 语言类型包括 Undefined、Null、Boolean、String、Number 和 Object。
类型是值的内部特征,它定义了值的行为
# 1.1 类型
我们必须掌握 JavaScript 中的各个类型及其内在行为。
# 1.2 内置类型
JavaScript 有七种内置类型:
• 空值(null)
• 未定义(undefined)
• 布尔值( boolean)
• 数字(number)
• 字符串(string)
• 对象(object)
• 符号(symbol,ES6 中新增)
我们可以用 typeof 运算符来查看值的类型,它返回的是类型的字符串值。
typeof undefined === "undefined"; // true
typeof true === "boolean"; // true
typeof 42 === "number"; // true
typeof "42" === "string"; // true
typeof { life: 42 } === "object"; // true
// ES6中新加入的类型
typeof Symbol() === "symbol"; // true
1
2
3
4
5
6
7
2
3
4
5
6
7
# 1.3 值和类型
JavaScript 中的变量是没有类型的,只有值才有。变量可以随时持有任何类型的值。
在对变量执行 typeof 操作时,得到的结果并不是该变量的类型,而是该变量持有的值的类型,因为 JavaScript 中的变量没有类型。
undefined 和 undeclared
已在作用域中声明但还没有赋值的变量,是 undefined 的。相反,还没有在作用域中声明过的变量,是 undeclared 的。
var a;
typeof a; // "undefined"
typeof b; // "undefined"
1
2
3
2
3
# 1.4 小结
JavaScript 有 七 种 内 置 类 型:null、undefined、boolean、number、string、object 和symbol,可以使用 typeof 运算符来查看。
变量没有类型,但它们持有的值有类型。类型定义了值的行为特征。