더북(TheBook)

2. 함수의 this는 bind( ) 메서드를 사용해 값을 바꿀 수 있습니다.

bind() 메서드는 자바스크립트에 내장된 메서드로 this를 수정하는 역할을 합니다. 다음 코드는 bind() 메서드로 thisobj로 바꾼 뒤 한 번 더 호출해야 함수가 실행됩니다.

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
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.