2. 함수의 this는 bind( ) 메서드를 사용해 값을 바꿀 수 있습니다.
bind() 메서드는 자바스크립트에 내장된 메서드로 this를 수정하는 역할을 합니다. 다음 코드는 bind() 메서드로 this를 obj로 바꾼 뒤 한 번 더 호출해야 함수가 실행됩니다.
const obj = { name: 'zerocho' };
function a() {
console.log(this);
}
a.bind(obj)(); // { name: 'zerocho' }
하지만 화살표 함수는 bind()를 해도 this를 바꿀 수 없습니다. 다음 코드는 this가 바뀌지 않아서 window 객체가 그대로 나옵니다.
const b = () => {
console.log(this);
}
b.bind(obj)(); // window