Code Fix

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

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

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

 1  const logger = { prefix: "[LOG]", write(msg) { return this.prefix + " " + msg; } };
 2  function run(fn) { return fn("hi"); }
 3  console.log(run(_________________________));
                                ^
出力: undefined hi期待: [LOG] hi (エラーにはなりません)

空欄を埋めて実行を通す

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

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

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

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