定义
对值的不同表示方法称为数据类型。
JavaScript一共为我们定义了7种数据类型,分别是:
● undefined
● null
● boolean (布尔)
● number (数字)
● string (字符串)
● Symbol (符号)
● object (对象)
其中前6种为简单数据类型。object为复杂数据类型,又叫引用类型。
typeof
鉴于JavaScript是松散类型的,因此需要typeof来检测给定变量的数据类型。
var a = 1;
typeof a // "number"
typeof运算符的返回值永远是这"7"个字符串值之一,也就是说上面返回的是"number",而不是number。
特例
typeof null 是一个有趣的特例,按理来说它的返回值应该是"null",但它返回的却是"object"。
这是因为null会被认为是一个空的对象引用。
这是JavaScript中存在已久的bug,也似乎不会被修复。因为web上存在太多代码都依赖于这个bug。因此修复它会导致更多的新bug。
强调
JavaScript的值有类型,但是变量无类型。
脚本语言对于数据类型的定义是动态的。因此没有必要在定义其他数据类型了。
欢迎关注微信公众号:一点一滴积累JavaScript