Skip to content

拷贝

原始类型:复制新的。

对象类型:仅仅拷贝 “引用”。

浅拷贝

  1. Object.assign
  2. Spread

Spread 是展开,即:

js
let user = { name: "John" };

let newUser = {
  ...user,
  age: 18,
};

deep cloning

有一个标准的深拷贝算法,用于解决上面这种和一些更复杂的情况,叫做 结构化克隆算法(Structured cloning algorithm)。

为了不重复造轮子,我们可以使用它的一个 JavaScript 实现的库 lodash,方法名叫做 _.cloneDeep(obj)。

https://lodash.com/docs#cloneDeep