1 var 키워드로 선언한 변수의 문제점

1.1 변수 중복 선언 허용

→ 만약 동일한 이름의 변수가 이미 선언된 것을 모르고 변수를 중복선언하면서 값까지 할당했다면 의도치 않게 먼저 선언된 변수 값이 변경되는 부작용이 발생함

1.2 함수 레벨 스코프

→ 따라서 함수 외부에서 var 키워드로 선언한 변수는 코드 블록 내에서 선언해도 모두 전역변수가 됨.

→ 이로인해 의도치 않게 전역 변수가 중복 선언되는 경우가 발생함

1.3 변수 호이스팅

→변수 호이스팅에 var 키워드로 선언한 변수는 변수 선언문 이전에 참조가능함

2 let 키워드