Вернуться к уроку

Свойство функции после bind

важность: 5

В свойство функции записано значение. Изменится ли оно после применения bind? Обоснуйте ответ.

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

var bound = sayHi.bind({
  name: "Вася"
});

alert( bound.test ); // что выведет? почему?

Ответ: undefined.

Результатом работы bind является функция-обёртка над sayHi. Эта функция – самостоятельный объект, у неё уже нет свойства test.