bind를 적용한 함수의 프로퍼티
중요도: 5
함수 프로퍼티에 값을 하나 할당해봅시다. 이 함수에 bind 메서드를 적용하면 프로퍼티 값은 바뀔까요? 그렇다면 혹은 그렇지않다면 그 이유는 무엇일까요?
function sayHi() {
alert( this.name );
}
sayHi.test = 5;
let bound = sayHi.bind({
name: "John"
});
alert( bound.test ); // 얼럿 창엔 어떤 값이 출력될까요? 값이 나온 이유는 무엇일까요?
정답: undefined
bind를 적용하면 또 다른 객체가 반환됩니다. 새로운 객체엔 test 프로퍼티가 없으므로 undefined가 출력됩니다.