1

これは無意味なことだと思いますが、なぜうまくいかないのかわかりません。

var person = {
    _name: "Steve",
    doSomething: () => console.debug("Doing stuff with ", this._name)
}

「this」はグローバル オブジェクトにバインドされており、getName が呼び出されたオブジェクトにはバインドされていません。上記は次と同等であると予想していました:

var person = {
    _name: "Steve",
    doSomething: function() { console.debug("Doing stuff with ", this._name) }
}

(こんな風に書けばいいのに)

var person = {
   _name: "Steve",
   doSomething() {
      console.debug("Doing stuff with ", this._name)
   }
}
4

1 に答える 1

1

mdnから:

アロー関数は、囲んでいるコンテキストの this 値をキャプチャします

これは関数とは異なります。

于 2014-10-23T11:49:46.140 に答える