我在BabelJS和MDN(完全没有信息)上完成了我的大部分研究,但请随时告诉我,如果我没有仔细查看有关ES6规格的更多信息.
我想知道ES6是否支持多种继承,就像其他鸭式语言一样.例如,我可以这样做:
class Example extends ClassOne, ClassTwo {
constructor() {
}
}
Run Code Online (Sandbox Code Playgroud)
将多个类扩展到新类?如果是这样,解释器是否会更喜欢ClassTne上的ClassTne方法/属性?
根据各种来源(2ality,esdiscuss),应该能够将mixins添加到类中:
编辑发现类方法不可枚举,因此无法工作.编辑了下面的代码,但仍然没有快乐
class CartoonCharacter {
constructor(author) {
this.author = author;
}
drawnBy() {
console.log("drawn by", this.author);
}
}
// THIS CANNOT WORK
// class methods are not enumerable
// class Human {
// haveFun() {
// console.log("drinking beer");
// }
// }
let Human = Object.create({}, {
haveFun: {
enumerable: true,
value: function () {
console.log("drinking beer");
}
}
});
class Simpson extends Object.assign(CartoonCharacter, Human) {
constructor(author) {
super(author);
}
}
let homer = new …Run Code Online (Sandbox Code Playgroud)