식별자(변수, 함수, 클래스 등)는 선언(declaration)을 통해 자바스크립트 엔진에 식별자의 존재를 알린다. 그 중 변수 선언(variable declaration)은 값을 저장하기 위한 메모리 공간을 확보(allocate)하고 변수 이름(변수명)과 확보된 메모리 공간의 주소를 연결(name binding)해서 값을 저장할 수 있게 준비하는 것이다.
이처럼 선언되어, 확보된 메모리 공간은 해제(release)되기 전까지 보호되므로 안전하게 사용할 수 있다. var score; 위 변수 선언문은 변수 이름을 등록하고 값을 저장할 메모리 공간을 확보한다. 아직 값을 할당하지 않았으므로 비어 있다고 생각하겠지만, 자바스크립트 엔진은 암묵적으로 undefined 라는 값을 할당해 '초기화'한다. - un.....
원문 링크 : [JavaScript] 변수(3) - 변수 선언