JavaScript 克隆对象

function clone(origin) {
  return Object.assign({}, origin);
}


let aClone = { ...a };
// 等同于
let aClone = Object.assign({}, a);

上面代码将原始对象拷贝到一个空对象,就得到了原始对象的克隆。

不过,采用这种方法克隆,只能克隆原始对象自身的值,不能克隆它继承的值。如果想要保持继承链,可以采用下面的代码。

function clone(origin) {
  let originProto = Object.getPrototypeOf(origin);
  return Object.assign(Object.create(originProto), origin);
}

 

 

 

原文参考:http://es6.ruanyifeng.com/#docs/object

posted @ 2016-12-05 16:31  没离开过  阅读(357)  评论(0编辑  收藏  举报