JS 拷贝
浅拷贝
复制对象或数组的方法,但只复制对象的第一层,而不会递归复制嵌套在其中的对象或数组。
对象拷贝
Object.create(x)
Object.assign({},x)
数组浅拷贝
concat()
slice()
- 数组解构
map()
js
const movements = [200, 450, -400, 3000, -650, -130, 70, 1300];
const newMove = movements.concat();
const newMove1 = movements.slice();
const newMove2 = [...movements];
const newMove3 = movements.map((item)=>item);
深拷贝
新建的对象或数组完全独立于原对象
JSON.parse(JSON.stringify(obj))
局限:
- 无法拷贝undefiend、function、symble、bigint
- 无法处理循环引用