分配__proto__的最有效方法是什么?

时间:2014-06-13 20:03:48

标签: typescript prototype

我需要将__proto__as found here)分配给通过web worker postMessage()传递的对象。我找到了this solution,但它在每次调用时创建了一个类,这让我觉得效率低下。有没有更有效的方法来做到这一点?

ps - 这应该是非常安全的,因为它将方法重新连接到在序列化中删除之前具有精确__proto__的对象。

1 个答案:

答案 0 :(得分:1)

  

我找到了这个解决方案,但它在每次调用时创建了一个类,这让我觉得效率低下

此调用new newClass()在一般意义上效率不高。仅仅调用new Class只需要更多的东西,即创建一个新的obj用于this(简单为{})和设置{{1} }在返回的对象中为newClass.prototype

  

有更有效的方法吗

__proto__相比......是非常如此,只需:

obj.__proto__ = (<any>(new newClass())).__proto__;

请注意,这会剥夺obj.__proto__ = newClass.prototype设置newClass上任何成员(即班级成员)的机会。但是如果你已经在this上拥有它们,那么你就不需要经历构造函数开销了。