자바스크립트 this에 대해 설명해 주세요.
2024. 9. 2. 09:37ㆍ코드잇 스프린트/위클리 페이퍼
자바스크립트 this에 대해 설명해 주세요.
1. this
- 호출 맥락/방식에 따라 동적으로 값을 바인딩하는 자기 참조 변수
2. 전역/모듈 맥락 this
2-1. 전역 맥락
- Web 환경 : 전역 객체(
Window
) 바인딩 - NodeJS 환경 : 전역 객체(
global
) 바인딩- 하지만 NodeJS 환경은 각 파일을 하나의 모듈로 취급하므로 유의
2-2. 모듈 맥락
- Web 환경 :
undefined
바인딩 - NodeJS 환경 :
exports
객체 바인딩
3. 함수 맥락 this
3-1. 일반 함수(단순 호출)
- 전역 객체 바인딩
3-2. 객체 메소드
- 호출 시점에 속한 객체 바인딩
- 프로토타입 체인, get/set도 동일하게 적용
3-3. 화살표 함수
- 선언 시의 상위 렉시컬 스코프 this 값 바인딩
3-4. 생성자 함수
- 생성된 객체 바인딩
3-5. DOM 이벤트 핸들러
Event객체.currentTarget
바인딩
3-6. bind 메소드
함수.bind(객체)
- 인수로 받은 객체 바인딩
- 함수의 렉시컬 스코프 유지
4. 참고 자료
'코드잇 스프린트 > 위클리 페이퍼' 카테고리의 다른 글
HTTP 메소드에 대해 설명해 주세요. (0) | 2024.09.02 |
---|---|
렉시컬 스코프(Lexical scope)에 대해 설명해 주세요. (0) | 2024.09.02 |
이벤트 버블링, 캡쳐링, 위임에 대해 설명해 주세요. (0) | 2024.09.02 |
Git Flow 브랜치 전략에 대해 설명해 주세요. (1) | 2024.08.19 |
Git에서 branch merge 방법들과 각 방법의 특징을 설명해 주세요. (0) | 2024.08.19 |