DeepDiveJS Chapter 04. 변수

[04장. 변수]

</br>

✏️ 내가 그의 이름을 불러주기 전에는 그는 다만 하나의 몸짓에 지나지 않았다.


  무언가를 식별하기 위해 단어를 만드는 이유는 무언가를 지칭할 때 매번 구체적으로 묘사해야하면 기억하기 어렵기 때문에, 추상화 시키기 위해서이다.

프로그래밍 언어에서 변수도 유사하게 사용되어진다.

변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 또는 메모리 공간을 식별하기 위해 붙인 이름을 말한다.

바구니에 무언가를 담고 바구니 뚜껑을 닫아버리면 찾기 불편하니까 바구니 뚜껑에 이름표를 붙여서 바구니를 쓰기 편하게 하는 것이다.

</br>

✏️ 변수의 호이스팅


  변수 호이스팅은 한 줄 씩 코드가 실행되는 중, 현재 실행되고 있는 곳보다 나중에 선언되는 변수에 접근할 수 있는 현상을 말한다.

자바스크립트는 코드를 실행하기 전에, 소스코드의 평가를 먼저 진행하게 된다. 변수의 선언문은 이 평가 과정에서 실행되게 된다.

이런 이유로 호이스팅이 발생하게 된다. 다만, 변수 바구니에 내용을 담는 ‘할당’은 코드의 실행 단계에서 진행된다.

</br>

✏️ var, const, let


  자바스크립트는 원래 var를 이용해서 변수를 선언했었는데, var를 이용한 선언문에서 발생하는 호이스팅과 같은 유연함 때문에 ES6에서는 const와 let를 이용한 변수 선언문이 추가되었다.

이에 대해서는 15장에 구체적인 내용이 등장하게 된다.