當我在線研究時,我發現不同的答案。Javascript - 是否在類中定義了方法原型或屬性?
class Foo {
constructor() {
this.data = [];
}
add(x) {
//
}
}
上述代碼是否等同於代碼A或代碼B?
代碼A:
function Foo() {
this.data = [],
this.add = function(x) {
//
}
}
代碼B:
function Foo() {
this.data = []
}
Foo.prototype.add = function(x) {
//
}
感謝您的幫助!
請參閱ES6的深入文檔 - https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes –
它們相當於B.做一個'console.dir(Foo.prototype)'並親自查看。 –
相關:[基於類和基於對象的語言比較(ECMAScript規範)](http://stackoverflow.com/q/34010495/218196) –