内置类型
JavaScript 有七种内置类型:
• 空值(null)
• 未定义(undefined)
• 布尔值(boolean)
• 数字(number)
• 字符串(string)
• 对象(object)
• 符号(symbol, ES6 中新增)
除了对象之外,其他的都是基本类型。
typeof
- 可以用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
以上是字符串值与类型相同的情况。但是,对于null,那就不一样了:
typeof null === "object"; // true
检测null,需要使用复合条件:
var a = null
!a && typeof a === "object"; //true
对于函数(function(){}),数组(Array),他们都是JS的内置类型,实际上是object的子类型,在用typeof求值时:
typeof function a(){ /* .. */ } === "function"; // true
typeof [1,2,3] === "object"; // true 注意,不是array