レッスンに戻る

bindを実行した後の関数プロパティ

重要度:5

関数のプロパティに値があります。bindを実行すると変更されますか?その理由を教えてください。

function sayHi() {
  alert( this.name );
}
sayHi.test = 5;

let bound = sayHi.bind({
  name: "John"
});

alert( bound.test ); // what will be the output? why?

答え: 未定義

bindの結果は別のオブジェクトです。testプロパティはありません。