목록Programming/JavaScript (8)
가치투자자
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/FSWlj/btr7gzI5ICA/ES3suat2HxyiGzIcRK6v3k/img.jpg)
var, let, const 변수를 선언할 때 사용하는 키워드에는 var와 let, const가 있다. 2015년 ES6가 등장하기 이전에는 var 키워드로 변수를 선언해왔는데, let과 const라는 키워드가 새로 등장했다. 이러한 키워드들로 선언된 변수들이 어떻게 다른지 살펴보고자 한다. * 기술면접 질문은 맨 아래에 적혀 있습니다 1-1. 변수 생성 과정 변수는 총 3단계를 거쳐 생성된다. 선언 단계 (declaration phase) : 변수를 (실행 컨텍스트의) 변수 객체에 등록한다. 즉, 변수가 등록(선언)된 것이다 초기화 단계 (initialization phase) : 변수에 값을 넣기 위한 공간을 메모리에 확보한다. 이 단계에서 변수는 undefined로 초기화된다. 할당 단계 (assi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b5Va3L/btr7gQCZKvO/mqC5a4TYBJAJk1Q0y7h7i0/img.webp)
호이스팅 (Hoisting) 공식문서를 살펴보면, 호이스팅(hoisting)은 '인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것'을 의미한다고 나와있다. 역시 공식 문서의 용어들은 초보자가 공부하기에 쉽지 않다. 좀 더 쉬운 말로 호이스팅에 대해 설명해보고자 한다. * 기술면접 질문은 맨 아래에 적혀 있습니다 1. 호이스팅이란? 호이스팅은 변수가 선언된 시점보다 먼저 실행되는 현상이다. 좀더 쉽게 설명해보자면, 변수가 어디에 적혀있든지(선언된 시점) 상관없이 맨 위로 끌어와 먼저 실행하는 것을 말한다. 여기서 var, let, const, function, function*, class 키워드를 사용해 선언된 모든 식별자(변수, 함수, 클래스 등)는 호이스팅된다. 아래의 예제를 통해..