[JavaScript] 실행 콘텍스트


[JavaScript] 실행 콘텍스트

자바스크립트 코드를 실행하기 위한 정보들을 모아놓은 객체를 실행 콘텍스트라고 한다. 그리고 이는 함수 단위로 생성된다. 우선 맨 처음에는 자동으로 전역 컨텍스트가 생성이 된다. 아까 함수 단위로 생성된다는 말처럼, 이후에 함수가 호출되면 각 컨텍스트가 콜스택에 쌓인다. (즉, 실행 컨텍스트는 함수 호출 시점에 생성됨) 실행 컨텍스트에는 아래와 같은 3가지 정보가 들어간다. 1. lexical environment record: let, const 등을 저장한다. outer: 스코프 체인을 저장한다. 지금까지 쌓인 스코프들의 연결리스트(함수 선언 시점에 결정)라고 볼 수 있고이는 식별자 결정에 사용한다. 2. variable environment var로 선언된 변수를 저장한다. 3. this binding 따로 지정하지 않으면 this는 전역 객체이다 (strict에선 undefined). new 연산자나 bind를 이용하여 this 를 바꿔줄 수 있다. 실행 컨텍스트는 함수 호출시...


#JavaScript #자바스크립트

원문링크 : [JavaScript] 실행 콘텍스트