JavaScript에서 Hoisting이란 무엇인지 이해해보자. Hoisting이란, 코드 실행되기 전에 variables, function, class와 같이, 선언된 모든 식별자들의 선언(declarations)을 유효범위내 스코프 최상단으로 옮기는 JavaScript의 작동 메커니즘을 의미한다. 무슨 말인지 와닿지 않는다. 하나씩 중요한 키워드들을 분석하면서 실제로 뭘 의미하는지 뜯어보자. (이는 JS엔진의 동작방법에 대한 지식이 선행된다면 매우 이해하기 편해질 것이다. JS엔진에 대한 정보는 이전에 작성한 글을 참고하자.) 1. 코드가 실행되기 전 JS엔진은 JS 코드를 만나게 되면, Execution Context를 생성하게 되는데 이 Execution Context는 두 단계(Creation ..
context
JavaScript를 이해하기 위해 필수적인 개념인 실행 컨텍스트에 대해 알아보자. 아래의 글은 참고링크를 해석한 글이다. 실행 컨텍스트는 자바스크립트 코드가 evaluated되고 executed 되는 환경에 대한 추상적인 개념이다. JS 코드가 구동될 때, 항상 그 코드는 실행 컨텍스트 안에서 작동하게 된다. Simply put, an execution context is an abstract concept of an environment where the Javascript code is evaluated and executed. Whenever any code is run in JavaScript, it’s run inside an execution context. Types of Execution..