深拷贝和浅拷贝
2021-07-23 本文已影响0人
hsqin
直接上结果:
- Object.assign 双拷贝
- 若Object里面的属性值是
简单类型
string,number,则是深拷贝
; - 若 属性值为
对象或其他引用类型,则为浅拷贝
- 若Object里面的属性值是
- JSON.parse(JSON.stringify())
深拷贝
说明:
let a = xxx; //xxx为任意类型 let b = a;
浅拷贝—— 修改b之后,a里面的值也变化
深拷贝—— 修改b之后,a不变。a/b属于独立的个体,互不影响
补充常见的js里的数据类型:
简单类型(原始类型):String,Number,Boolean,null,undefined,Symbol(ES6),bigInt(ES10)
引用类型:object(包括object,Array,Date,function)(function是js中的一种类型,隶属于object类型
)