실행컨텍스트

HcKim·2024년 3월 14일

global excute context에서 실행될 때 !

  • let과 const는 스코프 안에 있는 script에 저장된다. ( global에 저장되지 않는다. )

  • n0='n0', var v0='v0', a=1 는 global 스코프 에 저장된다. (글로벌은 어디서든 접근이 가능하다. window 객체에 저장한다)

실행컨텍스트는 콜스택에 쌓이게 된다. 최초에는 annonymous가 있고 그 위에 fn1()이 쌓이게 된다. 여기에서 anonymous는
글로벌 실행 컨텍스트라고 부른다.

function execute context에서 실행될 때 !

  • Local이 추가가 된다.

  • n1='n1' 아무런 키워드를 붙히지 않고 변수의 이름을 사용한다면 global 스코프로 들어가게 된다. 글로벌스코프에는 가급적 사용하지 않는 것이 좋다.

  • function 실행컨텍스트 안에서 var v1='v1' 은 로컬스코프로 들어간다.( <=> lobal excute context에서 선언했을 때와 다르게)

-> let, const local 안에 저장된다.

스코프체이닝 : Local , Scirpt Global 은 연결되어있다.

fn2() 함수를 실행했을 때

  • call stack에 쌓인다.
  • fn1()에 있던 local은 사라진다.
profile
Javascript를깨부시자

0개의 댓글