Ecmascript 6 修正了babeljs 6中对象的[[Prototype]]突变问题

Ecmascript 6 修正了babeljs 6中对象的[[Prototype]]突变问题,ecmascript-6,babeljs,Ecmascript 6,Babeljs,使用类时,firefox会不断提醒我: 改变对象的[[Prototype]]会导致代码运行非常缓慢;而是使用object.create创建具有正确初始[[Prototype]]值的对象 有没有办法通过让巴贝尔不设置原型来消除这个错误 我认为以前我使用protoassign(现在babel-plugin-transform-proto-assign)时没有出现这种情况是因为firefox忽略了setPrototypeOfAfaik,如果您从内置类继承,babel只会变异对象的[[prototype

使用类时,firefox会不断提醒我:

改变对象的[[Prototype]]会导致代码运行非常缓慢;而是使用object.create创建具有正确初始[[Prototype]]值的对象

有没有办法通过让巴贝尔不设置原型来消除这个错误


我认为以前我使用
protoassign
(现在
babel-plugin-transform-proto-assign
)时没有出现这种情况是因为firefox忽略了
setPrototypeOf

Afaik,如果您从内置类继承,babel只会变异对象的
[[prototype]]
。如果您想在ES5环境中运行代码,请不要这样做。

您是在扩展对象吗?@JonahWilliams否,babel的代码在继承类时有
子类。\uuu proto\uuuuuz=superClass
。这只是Firefox过于激进。Babel所做的没有错,你可以忽略这一点。
setPrototypeOf
理论上也会触发同样的警告。当然可以忽略它-当传输ES6->ES5时,还有许多其他性能问题,这只是itOk的本质,如果现在很难避免的话,我就忽略它。