javaScript有七种内置类型
- 未定义(undefind)
- 空值(null)
- 数字(number)
- 字符串(string)
- 对象(object)
- 布尔(boolean)
- 符号(symbol es6新加入)
以上除了对象,其他统称为‘基本数据类型’
我们可以通过typeof来查看数据类型,返回的是类型的字符串值。有意思的是,这七种类型与它们的字符串值并不完全相等。
typeof undefind === 'undefind' // true
typeof 42 === 'number' // true
typeof '42' === 'string' // true
typeof {life: 42} === 'object' // true typeof true === 'boolean' // true
你可能注意到null类型并不在此列,它的处理有点问题。
typeof null === 'object' // true
事实上它的正确返回结果是null,但是这个bug由来已久,大概存在了将近二十年了。由于历史遗留,修改后会引发很多其他问题。