이 장의 내용
• let과 const 소개
• 예시와 함께 “블록 스코프” 정의
• 섀도잉과 호이스팅: 일시적 데드존
• 변경해서는 안 되는 변수에 const 사용
• 전역 객체에 없는 전역 변수 만들기
• 루프에서 블록 스코프 사용
이 장의 코드 다운로드
이 장의 코드는 https://thenewtoys.dev/bookcode 또는 https://www.wiley.com/go/javascript-newtoys에서 다운로드할 수 있다.
이 장에서는 새로운 let과 const 선언이 어떻게 작동하는지, 어떤 문제를 해결하는지 배운다. 이 장을 통해 문제가 있는 것으로 판명된 var의 일부 동작을 볼 수 있으며 let과 const가 이러한 문제를 해결하는 방법을 배운다. let과 const가 어떻게 진정한 블록 스코프를 제공하고, 초기화하기 전에 변수를 사용하거나 반복된 선언으로 인한 혼동을 방지하는 방법을 볼 수 있다. 블록 스코프가 let을 사용하여 전통적인 “루프 내 클로저” 문제를 피할 수 있다는 의미와 const를 사용하여 값을 변경할 수 없는 “변수”, 상수를 만드는 방법을 알아본다. let과 const가 이미 과부하된 전역 객체에 더 많은 속성을 생성하지 않게 하는 방법을 배운다. 간단히 말해 let과 const가 새로운 var인 이유와 var가 현대 자바스크립트 프로그래밍에서 더 이상 자리를 차지할 수 없는 이유를 알 수 있다.