首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Object.assign文本上探索JS的Errata?

在Object.assign文本上探索JS的Errata?
EN

Stack Overflow用户
提问于 2017-07-03 18:08:45
回答 1查看 74关注 0票数 0

http://exploringjs.com/es6/ch_oop-besides-classes.html#Object_assign由著,是一本非常流行的关于ES6的书,他说,

如果希望克隆具有与原始克隆相同的原型,可以使用Object.getPrototypeOf()和Object.create(): 函数克隆(Orig){ const origProto = Object.getPrototypeOf(orig);返回Object.assign(Object.create(origProto),orig);}

但这似乎不是真的,

代码语言:javascript
复制
var a = {a:1};
var o1 = Object.create(a);
Object.getPrototypeOf(o1); //shows {a:1} of course
var o2 = Object.assign(o1);
Object.getPrototypeOf(o2); // also shows {a:1}

那么,为什么他们在克隆人中说“和原始原型一样”呢?Object.assign似乎已经给出了与原版相同的原型,而且他们正在创建的clone()复制了原型中所有可枚举的方法,完全失去了到原型的链接。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-03 18:10:29

代码语言:javascript
复制
var o2 = Object.assign(o1);

等于:

代码语言:javascript
复制
var o2 = o1;

当Object.assign返回第一个参数时。以下参数被复制到第一个参数中,因此您可以这样做:

代码语言:javascript
复制
var o2=Object.assign({},o1);

你看他们是平等的,除了原型。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44891698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档