当使用 postMessage() 向 Web Worker 复制数据或从 Web Worker 复制数据时,您可以发布一个属于类的对象。但在另一边,接收到的对象只是数据(即接口(interface),而不是类)。
One person建议将正确的 __proto__
分配给接收端的该对象,以将其重新转换为类。这有效。但这是可靠且安全的还是自找麻烦?
我不是在这里征求意见(这是一个很大的禁忌),我是问是否存在可能会困扰我的具体技术问题。
最佳答案
某些浏览器可能不支持修补__proto__
,或者将来可能会停止支持。
当我的代码在 WinRT 中使用时停止工作时,我发现了这一点。 HTML 应用程序。
正确的方法(在 ES5 中)是调用 Object.create(Constructor.prototype, obj)
( see her for more examples )
关于javascript - 将 __proto__ 分配给接口(interface)以将其转换为对象 - 聪明还是危险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23302812/