FrontEngineer JungBam

this 바인딩의 경우의 수 본문

자바스크립트 개념

this 바인딩의 경우의 수

정밤톨 2023. 2. 24. 15:35

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