[코어 자바스크립트] this 정리

⭐️ 명시적 this 바인딩이 없는 한 늘 성립하는 규칙

  • 전역 공간에서의 this는 전역 객체(브라우저에서는 window, Node.js에서는 global) 참조함
  • 어떤 함수를 메서드로서 호출한 경우 this는 호출 주체(메서드명 앞의 객체)를 참조함
  • 어떤 함수를 함수로서 호출한 경우 this는 전역 객체를 참조함 (메서드의 내부함수에서도 같음)
  • 콜백 함수 내부에서의 this는 해당 콜백 함수의 제어권을 넘겨받은 함수가 정의한 바에 따르며, 정의하지 않은 경우에는 전역 객체 참조함
  • 생성자 함수에서의 this는 생성될 인스턴스를 참조함

⭐️ 명시적 this 바인딩

  • call, apply 메서드는 this를 명시적으로 지정하면서 함수 또는 메서드를 호출함
  • bind 메서드는 this 및 함수에 넘길 인수를 일부 지정해서 새로운 함수를 만듬
  • 요소를 순회하면서 콜백 함수를 반복 호출하는 내용의 일부 메서드는 별도의 인자로 this를 받기도 함

Written by@thumbsu
프론트엔드 개발자 엄지수 입니다.

GitHubTwitterLinkedIn