0
私は矢印関数を使っている簡単なプロトタイプ継承コンストラクタを持っています。JavaScript:ES6でプロトタイプと矢印関数で `this`を使う
app.Node = function (name, type) {
this.name = name;
this.type = type;
this.children = [];
}
app.Node.prototype = {
addChild: (child)=>{
child._parent = this;
this.children.push(child);
},
removeChild: (child)=>{
this.children.forEach((item, i) => {
if (item === child) {
this.removeChildAtIndex(i);
}
});
},
}
はしかし、this
矢印関数の性質のために、this
の値は、上記プロトタイプメソッド内undefined
あります。だから私はこのように矢印関数を使うことができますか?私は、通常のfunction
機能を使用する以外に、私は何を変更する必要があるのか分かりません。
あなたは矢印と通常の関数の違いをきちんと釘付けにしました。矢印機能は単なるショートカットではありません。特定のケースでは、代わりにメソッドのショートカットを使用できます。https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Object_initializer#Method_definitions – estus