编程语言
首页 > 编程语言> > javascript – 如何使用ES5扩展ES6类?

javascript – 如何使用ES5扩展ES6类?

作者:互联网

这样做的原因很复杂,但归结为流不理解mixins或任何其他修改ES6类原型的方法.所以我回到了ES5,但我无法弄清楚如何在没有新的情况下调用ES6类的构造函数:

class A {
  constructor() {}
}

function B() {
  // what do I put here?  I would do something like
  // A.prototype.constructor.call(this) but that throws an error saying the
  // constructor can only be called with `new`
}
B.prototype = Object.create(A.prototype);

解决方法:

自己回答:

class A {
  constructor() {}
}

function B() {
  Object.assign(this, new A());
}
B.prototype = Object.create(A.prototype);

不确定这里是否有任何副作用

标签:javascript,ecmascript-6,ecmascript-5
来源: https://codeday.me/bug/20190910/1800801.html