相关疑难解决方法(0)

ES6类多重继承

我在BabelJSMDN(完全没有信息)上完成了我的大部分研究,但请随时告诉我,如果我没有仔细查看有关ES6规格的更多信息.

我想知道ES6是否支持多种继承,就像其他鸭式语言一样.例如,我可以这样做:

class Example extends ClassOne, ClassTwo {
    constructor() {
    }
}
Run Code Online (Sandbox Code Playgroud)

将多个类扩展到新类?如果是这样,解释器是否会更喜欢ClassTne上的ClassTne方法/属性?

javascript ecmascript-6

117
推荐指数
7
解决办法
9万
查看次数

用于ES6课程的Mixins,用babel编译

根据各种来源(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)

javascript traits composition mixins ecmascript-6

10
推荐指数
2
解决办法
6405
查看次数

标签 统计

ecmascript-6 ×2

javascript ×2

composition ×1

mixins ×1

traits ×1