JS中原始值包括7种类型:
- Number
- String
- NULL
- Boolean
- Undefined
- Symbool
- BigInt
前五个primitive values的初始值:
a = new String();
b = new Number();
c = new Boolean();
d = undefined;
e = null;
console.log(a, b, c, d, e);
封装成对象Object的其他类型都叫引用类型,如Array、Function()等你能想到除了基本类型之外的所有。
存储方式:
声明的变量都有标识符,这些标识符存储在一个栈中:栈只包含name,value两个值:
- 原始值primitive values,存储标识符+其本身被赋的值。
- 引用数据类型,存储标识符+指向堆内存该对象的引用。真实数据存储在内存中的堆内存中,无法直接访问堆内存,需要通过引用去访问。
所以对引用类型标识符进行操作实际操作的是对象的引用,通过引用才能访问对象的值。