출처: 모던 자바스크립트 딥다이브

4장 변수

메모리 공간에 저장된 식별할 수있는 고유한 이름: 변수이름

변수이름: 식별자 (변수 뿐만아니라 함수,크래스등 선언한 이름은 모두 식별자)

변수에 저장된 값: 변수 값

내가 지금까지 한 오해: 변수가 값을 저장한다 생각함

사실: 식별자는 값이 아니라 메모리 주소를 기억하고 있음

할당과 참조

할당: 변수에 값을 저장하는것 할당

참조: 변수에 저장된 값을 읽어 들이는것

변수 선언: 메모리 공간을 확보(allocate) 하고 메모리 공간의 주소를 연결 하여 값을 저장할수 있게 준비

var 키워드의 단점

  1. 블록 레벨 스코프가 아닌 함수 레벨 스코프
console.log(test);

var test

// 위코드가 에러가 아닌 undefined 가 나오는 이유를 논리적으로 설명?

변수선언은 런타임 이전이지만 변수에 값을 할당하는 것은

런타임에 실행된다.