- 변수 중복 선언 가능 -> 의도치 않게 변수를 중복 선언 후 값을 할당하면 먼저 선언한 변수의 값이 변경됨.
- 함수 코드 블록만을 지역 스코프로 인정하며, 함수의 외부에서 var 키워드로 변수를 선언할 경우에 코드 블록 내에서 선언해도 전부 전역변수가 된다.
- let 키워드로 이름이 같은 변수를 선언하는 경우에는 문법 에러(SyntaxError)가 발생하여 중복 선언이 방지된다.
- let 키워드로 선언한 변수는 모든 코드 블록을 지역 스코프로 인정한다.
- let 키워드의 변수는 선언 단계와 초기화 단계가 분리되어서 진행된다.
- 선언과 동시에 반드시 변수를 초기화 시켜줘야 한다.
Const example = 1;
Const example; -> SyntaxError 발생
- const 키워드의 변수는 재할당이 금지된다. 따라서 const 키워드를 상수를 표현하는데 사용한다.
- const 키워드로 선언된 변수에 객체를 할당하면 값을 변경할 수 있다.
1. ES6을 쓰면 var 키워드를 지양할 것
2. 재할당이 필요한 변수인경우 let 키워드를 사용할 것
3. 상수 값과 객체에는 const 키워드를 사용할 것
4. 변수 선언시 const 키워드를 사용 후, 재할당이 필요하다고 생각할 때 let 키워드로 변경해도 늦지 않는다.