목록JS (11)
방춘덕(고양이 키우면 지을 이름)의 개발 블로그입니다.
이 내용은 이전에 작성했던 execution context와 execution context stack과 execution context의 생성과정 글과 관련이 있습니다. Hoisting is JavaScript's default behavior of moving declarations to the top. (hoisting은 선언을 맨 위로 이동시키는 JS의 기본 동작이다.) - https://www.w3schools.com/js/js_hoisting.asp 1). JS의 선언과 hoisted 먼저 예제를 보고 시작해보자. console.log(hello) // undefined var hello = 'HI!' 왜 다른 언어들과 같이 error를 출력하지 않고 undefined로 출력될까? execut..
지난 글에서는 EC(execution context)와 ECS(execution context stack)이 무엇인지 알아봤고 오늘은 실제로 EC가 어떻게 생성되는지 알아볼 것이다. (이 글을 이해하기 위해서는 꼭 지난 글을 읽어야만 한다.) JS엔진은 2가지 단계로 EC를 생성한다. 1). creation phase 생성 단계는 JS 엔진이 함수를 호출했지만, 아직 실행이 되지 않은 상태다. 이 단계에서 JS 엔진은 컴파일 단계에 있으며 작성된 코드를 컴파일하기 위해 함수를 스캔한다. global EC일 때와 function EC일 때 동작이 아주 약간 다르다. 그리고 이전 글의 각 EC별 특징과 매우 흡사하다. global EC 전역 객체를 생성한다. (window... 등) this 객체를 생성한다..
오늘 다뤄볼 내용은 실행 콘텍스트(execution context)와 실행 콘텍스트 스택(execution context stack)에 관해서다. 1). 실행 콘텍스트 An execution context is a specification device that is used to track the runtime evaluation of code by an ECMAScript implementation. (실행 콘텍스트는 ECMAScript 구현으로 코드의 런타임 평가를 추적하는 데 사용되는 사양 장치입니다. by 구글 번역) - ECMAScript® 2019 Language Specification 흠.. 잘 이해가 되지 않는다. 몇몇 다른 블로그를 찾아본 결과 실행 가능한 코드를 형상화하고 구분하는 추..