例如这样一个case
class Test {
constructor() {
this.var1 = 'var1'
}
method1() {
console.log(this.var1)
}
test() {
this.method2()
}
}
const mixin = {
var2: 'var2',
method2: {
console.log(this.var2)
}
}
Javascript中的类只是语法糖,它使添加构造函数/原型对变得简单明了。功能没有从ES6之前的代码有变化。
可以将属性添加到原型:
Object.assign(Test.prototype, mixin);
可以在构造函数中添加它来创建的每个对象:
constructor() {
this.var1 = 'var1';
Object.assign(this, mixin);
}
你可以在构造函数中根据条件将其添加:
constructor() {
this.var1 = 'var1';
if (someCondition) {
Object.assign(this, mixin);
}
}
或者可以在创建后将其分配给对象:
let test = new Test();
Object.assign(test, mixin);