데이터를 담는 공간이자 메모리 공간을 식별하기 위해 붙인 이름(식별자)
=>변수를 통해 메모리 주소로 직접 접근하지 않고, 안전하게 데이터를 사용하는 것이 가능
할당 & 참조
할당: 변수에 값 저장하는 것
참조: 변수에 저장된 값을 읽어 들이는 것
var,let,const 등의 키워드를 사용하여 선언
var score; // undefined
선언에 의해 확보된 메모리 공간에는 JS엔진이 암묵적으로 undefined를 할당하여 초기화
=> var 키워드를 사용하면 선언과 초기화 단계가 동시에 진행
console.log(score)
var score;
한줄씩 실행되는 JS 특성상 참조에러를 뱉어낼 것 처럼 보이지만,
암묵적으로 초기화 시킨 값인 undefined를 뱉음
var score; // 변수 선언
score = 80; // 값의 할당
var score = 80; // 선언 & 할당 동시에 진행
변수 선언은 Runtime 이전에 실행,
값의 할당은 Runtime에 실행
또한 undefined 가 저장된 메모리 주소에 80을 집어넣는 것이 아닌,
새로운 주소에 80을 저장 (재할당 과정도 마찬가지)
더이상 사용하지 않는 것은 가비지 콜렉터가 알아서 없앰