メソッドとしてのバインドされた関数
重要性: 5
何が出力されるでしょう?
function f() { alert( this ); // ? } let user = { g: f.bind(null) }; user.g(); 解答: null.
function f() { alert( this ); // null } let user = { g: f.bind(null) }; user.g(); バインドされた関数のコンテキストはハードコードされています。さらにそれを変える方法はありません。
従って、たとえ user.g() を実行しても、元の関数は this=null で呼ばれます。