출처: 모던 자바스크립트 딥다이브
메모리 공간에 저장된 식별할 수있는 고유한 이름: 변수이름
변수이름: 식별자 (변수 뿐만아니라 함수,크래스등 선언한 이름은 모두 식별자)
변수에 저장된 값: 변수 값
내가 지금까지 한 오해: 변수가 값을 저장한다 생각함
사실: 식별자는 값이 아니라 메모리 주소를 기억하고 있음
할당과 참조
할당: 변수에 값을 저장하는것 할당
참조: 변수에 저장된 값을 읽어 들이는것
변수 선언: 메모리 공간을 확보(allocate) 하고 메모리 공간의 주소를 연결 하여 값을 저장할수 있게 준비
var 키워드의 단점
console.log(test);
var test
// 위코드가 에러가 아닌 undefined 가 나오는 이유를 논리적으로 설명?
변수선언은 런타임 이전이지만 변수에 값을 할당하는 것은
런타임에 실행된다.