Javascript是一种弱类型或者说动态语言。最新的ECMAScript标准定义了7种数据类型。
- 6 种原始类型:
Boolean,Null,Undefined,Number,String,Symbol(ES6新定义) - 还有
Object.
这里引申出一个疑问:那function是不是一种数据类型?
在 js 中,执行如下代码会打印function。
typeof function(){} // function
这里需要指出的是,typeof只是一个运算符,其返回值不能作为 js 类型系统的依据。因此,按照spec,function并不算是一种数据类型。function比较特殊,spec没有把它单独拿出来作为一种数据类型,可能是因为它同样有所有object的特性吧。
新增第 8 种数据类型:BigInt
