码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 克隆对象

时间:2016-12-05 16:53:57      阅读:757      评论:0      收藏:0      [点我收藏+]

标签:es6   lan   不能   span   javascrip   ssi   assign   prototype   return   

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

JavaScript 克隆对象

标签:es6   lan   不能   span   javascrip   ssi   assign   prototype   return   

原文地址:http://www.cnblogs.com/neverleave/p/6134423.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!