例如这样一个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);
文章转载于:https://www.jianshu.com/p/625e36a85a08
原著是一个有趣的人,若有侵权,请通知删除
还没有人抢沙发呢~