Code Fix

中級 › メソッドを変数に代入・受け渡しするとthisが失われる › パターン4

メソッドを変数に代入・受け渡しするとthisが失われる

オブジェクトのメソッドを変数に代入したり、別の関数に渡して呼び出したりすると、呼び出し時にレシーバーの情報が失われ、thisがオブジェクトを指さなくなります。

 1  const timer = { seconds: 0, tick: function() { this.seconds++; return this.seconds; } };
 2  const tick = timer.tick.bind(_____);
                                   ^
 3  console.log(tick());
出力: NaN期待: 1 (エラーにはなりません)

空欄を埋めて実行を通す

広告
広告スロット(未設定)

メソッドを変数に代入・受け渡しするとthisが失われる

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)