ES5까지 변수를 선언하는 유일한 방법은 var키워드를 통해서였다.
var키워드로 변수를 선언시 다음의 특징이 있다.
var키워드로 선언한 변수는 같은 스코프 내에서 중복 선언이 가능하다.
var x = 1;
var y = 2;
//var키워드로 선언된 변수는 같은 스코프안에서 중복 선언을 허용
var x = 100;
var y;
//초기화문이 없는 변수 선언문은 무시됨
console.log(x); //100
console.log(y); //2
이떄, 초기화 문이 없는 변수 선언문은 무시된다.
초기화문이 있는 변수 선언문은 자바스크립트 엔진에 의해 var 키워드가 없는 것처럼 동작한다
(변수 호이스팅)
var키워드로 선언한 변수는 오직 함수의 몸체 안을 지역 스코프로 인정한다고 했다.
따라서, 함수 외부에서 선언한 var 키워드 변수는 모두 지역변수이다.
var x = 1;
if(true){
var x = 10;
}
console.log(x); //10