Jov*_*van 8 javascript ecmascript-6
MDN暗示使用.setPrototypeOf()
将对代码的未来性能产生不良影响.
我还读了一些关于为什么改变对象的[[Prototype]]会降低性能的问题.但是没有一个答案真正解释了在后台发生的事情.所以我想知道这是否也适用于新的对象.
特别是我真的喜欢做这样的事情:
var MyPrototype = {
method1 : function(){...},
method2 : function(){...},
...
};
var newObject = Object.setPrototypeOf({
property : 1,
property2 : 'text'
}, MyPrototype);
Run Code Online (Sandbox Code Playgroud)
不幸的是你不能这样做,Object.create
因为它不接受普通的对象文字.
我的使用是否setPrototypeOf
也降低了执行JS引擎的性能?
如果您担心(显然您应该......)使用的性能影响Object.setPrototypeOf()
,但希望保持对象创建语法与代码的结构类似,请尝试以下方法:
var MyPrototype = {
method1 : function(){...},
method2 : function(){...},
...
};
var newObject = Object.assign(Object.create(MyPrototype), {
property : 1,
property2 : 'text'
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1069 次 |
最近记录: |