var 키워드로 선언한 변수의 문제점 변수 중복 선언 허용 var x=1; var y =1; var x=100; var y; console.log(x); //100 console.log(y); //1 함수 레벨 스코프 var 키워드로 선언한 변수는 오로지 함수의 코드블록만을 지역스코프로 인정한다. 함수 외부에서 var 키워드를 선언하면 코드 블록 내에서 선언해도 모두 전역 변수가 된다. var x=1; if(true){ var x=10; } console.log(x); //10 변수 호이스팅 var 키워드로 변수를 선언하면 변수 호이스팅에 의해 변수 선언문이 스코프의 선두로 끌어올려져서 동작한다. 따라서 할당문 이전에 참조가 가능하며, undefined를 반환한다. 이런 코드가 문제 없이 작동하게 된다...