【发布时间】:2019-01-30 06:43:25
【问题描述】:
给定两个类,我想将一个类的方法提供给另一个类:
class a {}
class b {say() {console.log('hello')}}
var foo = new a();
这是怎么回事:
a.prototype.say = b.prototype.say;
foo.say(); //'hello'
但这不是吗?
a.prototype = b.prototype;
foo.say(); //foo.say is not a function
要清楚,我不是在问如何将一个类的方法提供给另一个,而是为什么原型的行为是这样的。
额外问题:在类块中定义方法和通过直接将其分配给原型来定义它有什么区别?
【问题讨论】:
标签: javascript javascript-objects