본문 바로가기

호이스팅2

모던 자바스크립트 Deep Dive - 실행 컨텍스트 실행 컨텍스트 실행 컨텍스트를 알면 호이스팅과 클로저, 코드 실행 순서를 이해하는데 도움이 되기 때문에 정리합니다. 소스 코드의 타입 - 전역 코드 전역 변수를 관리하기 위해 최상위 스코프인 전역 스코프를 생성한다. - 함수 코드 지역 스코프를 생성하고 지역변수, 매개변수, arguments객체를 관리한다. - eval 코드 엄격 모드에서 자신만의 독자적인 스코프를 생성한다. - 모듈 코드 모듈별로 독립적인 모듈 스코프를 생성한다. 소스코드(전역, 함수, eval, 모듈) → 코드 평가 → 실행 컨텍스트(전역, 함수, eval, 모듈) 소스 코드의 평가와 실행 자바 스크립트 엔진은 소스코드를 2개의 과정으로 나누어 처리한다 ( 소스코드 평가, 소스코드 실행 ) - 소스 코드 평가 실행 컨텍스트 생성하고 .. 2022. 12. 11.
모던 자바스크립트 Deep Dive - 호이스팅, var, let, const var, let, const 각각의 특징과 호이스팅에 관해서 정리합니다. var - 변수 중복 선언이 가능하다 var a = 'a' console.log(a) // 'a' var a = 'aa' console.log(a) // 'aa' - 함수 레벨 스코프를 가진다 var 키워드를 사용하여 선언한 변수는 함수 내부에서 선언한 게 아니라면 전역 스코프를 가진 전역 변수이다. 함수 레벨 스코프란? 함수의 코드 블록만을 지역 스코프로 인정하며 함수 외부에서 선언한 변수는 전역 스코프를 가진다. - 변수 호이스팅 var 키워드로 선언한 변수는 호이스팅 과정에서 선언과 초기화가 동신에 진행되며 이때 undefined로 초기화된다. 그렇기 때문에 변수 선언 전에 호출하게 되면 undefined가 출력된다. cons.. 2022. 12. 9.