基本数据类型
String:字符型,可以使用索引访问字符串中的每个字符.
例如:
let a = 'asdf';
a[0];
Number:数值型
Boolean:布尔型
Null:空,在===和==中,==判断null和undefined是一致的
undefined:没有值得变量,
例如
let ad //没有赋值 undefined
引用数据类型:对象、数组、函数
基本数据类型和引用数据类型存储位置
1、基本数据类型存储在栈中,
2、引用数据类型存储在堆中,首先存储在栈中的是该对象的引用,真实的数据存在堆中。
3、深浅拷贝,深拷贝是对引用类型而言的。若对引用类型浅拷贝则只是复制了引用地址。
引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体。
深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象
深拷贝实现方式:
let arr4 = JSON.parse(JSON.stringify(arr))