数据类型
在 JavaScript 中存在两种数据类型:原始数据类型、引用数据类型。
原始数据类型
在 JavaScript 现有规范中存在 7 种原始数据类型:
null
undefined
number
string
boolean
symbol (es6 新增)
bigint (es11 新增)
在 es10 中提出一直新的原始数据类型:
bigint
大数类型,目前在 es11 中已经到了提案的第四个阶段。es2020 已正式发布,此前进入 Stage 4 的提案均被纳入正式规范,该基本数据类型已于 2020年6月 在 es11 中正式成为新规范。
原始数据类型存储的是值,没有函数可以调用,如 undefined.toString()
会报错:toString of undefined。但 '1'.toString()
可以正确调用,原因是 '1'
已经被转换成 String
对象类型,不再是原始数据类型。
引用数据类型
引用数据类型也就是对象,存储的是(地址)指针。操作对象的时候,不是直接操作对实际的对象进行操作,而是操作对象的引用。
在内存中的存储
- 原始数据类型存储在栈内存中
- 引用数据类型在堆内存中开辟空间存储内容,将内容在堆内存中的地址存储在栈内存中