KassyLog

[모던 자바스크립트]let, const 그리고 블록 레벨 스코프 본문

javascript

[모던 자바스크립트]let, const 그리고 블록 레벨 스코프

Kassy_kim 2022. 11. 27. 14:59

 

var의 문제점을 극복하기 위해 ES6에서 도입한 키워드

바로 let과 const이다.

var의 문제점
1. 변수 중복 선언 허용
2. 함수 레벨 스코프만 지역 스코프로 인정
3. 변수 호이스팅

 

# let

1. 변수 중복 선언 금지

 let 키워드로 이름이 같은 변수를 중복 선언하면 문법 에러(SyntaxError) 발생

2. 블록 레벨 스코프

3. 변수 호이스팅

- let 키워드로 선언한 변수를 변수 선언문 이전에 참조하면 참조에러(ReferenceError)가 발생

- '선언'단계와 '초기화' 단계가 분리되어 진행된다.

 

# const

1. 선언과 초기화

- const 키워드로 선언한 변수는 반드시 선언과 동시에 초기화해야 한다.

2. 재할당 금지

3. 상수

 

 

# var , let, const

변수 선언에 기본적으로 const를 사용하고 let은 재할당이 필요한 경우에 한정해 사용하는 것이 좋다.