Code Fix

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

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

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

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

空欄を埋めて実行を通す

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

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

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

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