본문 바로가기
1차 스터디

9. 실행 컨텍스트

by study1211 2024. 4. 2.

실행 컨텍스트

- 자바스크립트 코드가 실행되는 환경

- 전역에서 시작 ➔ 함수 호출 시 스택에 쌓임

 

 

함수, 전역 실행 컨텍스트

 

 

 


 

this

콜백 함수

- 특정 동작 이후 불려지는 함수 = 다른 함수 인자로 보내지는 함수

 

동적 바인딩

- this가 환경에 따라 바뀌는 것

let o = {
  name: "Daniel",
  f1: () => {
    console.log("[f1] this : ", this);
  },
  f2: function () {
    console.log("[f2] this : ", this);
  },
};

o.f1(); // global
o.f2(); // o

setTimeout(o.f1, 10); // global
setTimeout(o.f2, 20); // global

 

 

화살표 함수 vs 일반 함수

1. 화살표 함수의 this

   - 호출된 함수를 둘러싼 실행 컨텍스트 가리킴

   - 특징 : this는 한 번 정해지면 변경X 

   - ex) let f1 = () => console.log( this)    // 함수 컨텍스트 생성 + 부모 컨텍스트 가리키는 this

2. 일반 함수의 this

   - 새롭게 생성된 실행 컨텍스트 가리킴

 


자바스크립트 Closure

 

Closure

- 함수 일급 객체 성질 이용 ➔ 클로저 = 함수와 함수가 사용하는 변수들을 저장한 공간

- 일급 객체 : 다른 변수처럼 대상을 다룰 수 있는 것  ex) 함수