※ this란? - 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수이다. - 실행컨텍스트가 활성화 되었을 때 this의 바인딩이 일어나며, 함수 호출 방식에 의해 동적으로 결정이 된다.
※ 암시적 this 바인딩 정리 - 전역 상태 : 브라우저(window) / NodeJS({}) - 함수 선언식, 함수 표현식: 브라우저(window) / NodeJS(global) - 화살표 함수: 브라우저(window) / NodeJS({}) - 엄격 모드 + 전역 상태 : 브라우저(window) / NodeJS({})
- 엄격 모드 + 함수 선언식, 함수 표현식 : 브라우저(undefined) / NodeJS(undefined) - 엄격 모드 + 화살표 함수 : 브라우저(window) / NodeJS({})
- 객체 + 객체 내부의 함수 표현식 : 브라우저( 표현식을 감싸고 있는 객체 ) / NodeJS(표현식을 감싸고 있는 객체) - 객체 + 객체 내부의 화살표 함수 : 브라우저(window) / NodeJS({}) - 이벤트 리스너 + 함수 선언식 : 이벤트가 일어난 HTML 요소 - 이벤트 리스너 + 함수 표현식 : window - new 연산자 (객체 생성) : 생성된 객체에 바인딩