gpt4 book ai didi

javascript - setPrototypeOf 对新对象的性能影响是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 04:14:41 50 4
gpt4 key购买 nike

MDN 暗示使用 .setPrototypeOf() 会对代码的 future 性能产生不良影响。

我还阅读了一些关于为什么更改对象的 [[Prototype]] 会降低性能的问题。但是没有一个答案真正解释了后台发生的事情。所以我想知道这是否也适用于新对象。

我特别喜欢做这样的事情:

var MyPrototype = {
method1 : function(){...},
method2 : function(){...},
...
};

var newObject = Object.setPrototypeOf({
property : 1,
property2 : 'text'
}, MyPrototype);

不幸的是,您不能使用 Object.create 执行此操作,因为它不接受普通对象文字。

我使用 setPrototypeOf 是否也会降低执行 JS 引擎的性能?

最佳答案

如果您害怕(显然您应该……)使用 Object.setPrototypeOf() 对性能的影响,但又想让您的对象创建语法与代码的结构相似,试试这个:

var MyPrototype = {
method1 : function(){...},
method2 : function(){...},
...
};

var newObject = Object.assign(Object.create(MyPrototype), {
property : 1,
property2 : 'text'
});

关于javascript - setPrototypeOf 对新对象的性能影响是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32444575/

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