FrontEngineer JungBam
this 바인딩의 경우의 수 본문
this는 함수가 실행될 때 실행 컨텍스트에 바인딩 된다.
실행 컨택스트 객체에는 변수객체, 스코프 체인, this가 담겨지는데 이때 this는 호출하는 방법에 따라서 다르게 바인딩된다.
1. 화살표 함수에서 this : 화살표 함수는 this가 바인딩되지 않기 때문에 실행 컨텍스트의 스코프 체인의 상위 스코프의 this를 가리킨다.
2. 일반 함수 호출 : 일반 함수로 호출된 경우 this는 전역 객체를 가리킨다.
3. 메소드로 호출 : 메소드로 호출되었을 때에는 자신을 부른 객체를 가리킨다.
4. 전역에서의 호출 : window 객체를 가리킨다.
const a = {
name: "객체",
arrow: function () {
const any = () => console.log(this);
any();
},
};
a.arrow();
const b = {
name: "객체",
arrow: function () {
function any() {
console.log(this);
}
any();
console.log(this);
},
};
b.arrow();
const c = () => {
console.log(this);
};
c();
console.log(this);
반응형
'자바스크립트 개념' 카테고리의 다른 글
순수 함수 (0) | 2023.03.01 |
---|---|
max-age와 expires (0) | 2023.03.01 |
매개변수(parameter)와 인수(argument), 그리고 arguments (0) | 2023.02.22 |
호이스팅과 TDZ (0) | 2023.02.22 |
RESTFUL한 API란 어떤 것인가? (0) | 2023.02.21 |
Comments