gpt4 book ai didi

JavaScript:使用 Object.create 时获得的最大优势是什么

转载 作者:行者123 更新时间:2023-12-01 01:54:29 25 4
gpt4 key购买 nike

我们可以简单地分配一个值而不是使用 Object.create 吗?

Rectangle.prototype = Shape.prototype;
Rectangle.prototype =
Object.create(Shape.prototype)

以上两种说法有什么区别?

最佳答案

Object.create() 方法创建一个新对象,使用现有对象提供新创建对象的 proto 。因此,如果您直接将值分配给对象,则分配的对象也有可能发生变化,这里是一个示例。

let k = {a:12, b:34};
let j = k;
console.log(`k before mutation ${JSON.stringify(k)}`);
j.b = "Mutated";//Updating j changes k too
console.log(`k after mutation ${JSON.stringify(k)}`);

Object.create 不会发生变化

let k = {a: 123, b: 34};
let j = Object.create(k);
console.log(`k before mutation ${JSON.stringify(k)}`);
j.b = "this won't mutate k";
console.log(`k after mutation ${JSON.stringify(k)}`);

关于JavaScript:使用 Object.create 时获得的最大优势是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51150049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com