<aside> 💡 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 값의 위치를 가리키는 상징적인 이름
</aside>
변수에 저장된 값을 변수 값 이라고 함
변수 값에 저장하는 것을 할당 이라고 함
변수에 저장된 값을 읽어 들이는 것을 참조 라고 함
<aside> 💡 식별자는 어떤 값을 구별해서 식별할 수 있는 고유한 이름 식별자는 값이 아닌 메모리 주소를 기억
</aside>
변수를 선언하기 위해 var
, let
, const
키워드를 사용
<aside> 💡 선언 단계 : 변수 이름을 JS 엔진에 등록 초기화 단계 : 값을 저장하기 위한 메모리 공간에 undefiend를 할당하여 초기화
</aside>
console.log(score); // undefined
var score; // 변수 선언
변수 선언보다 변수 참조가 앞에 있지만, 에러가 발생하지 않고 undefiend가 출력된다.
<aside> 💡 변수 선언은 런타임이 아닌 그 이전 단계에서 실행 된다. 변수 선언문이 코드의 선두로 끌어 올려진 것 처럼 동작하는 것을 변수 호이스팅이라 한다.
</aside>