let·const·블록 스코프 선택

let과 const는 변수가 살아 있는 범위를 블록으로 좁혀 값 추적을 쉽게 만든다.

선택쓸 때장점주의점
const재할당이 필요 없는 이름의도가 안정적객체 내부 변경까지 막지는 않음
let반복 카운터나 단계적으로 바뀌는 값변경 지점이 드러남넓은 범위에서 재사용 금지
var기존 코드 이해용함수 스코프와 호이스팅 확인새 코드에서는 피함
Blockif, for, 중괄호 범위변수 수명 축소블록 밖 접근 기대 금지
TDZ선언 전 접근 금지 구간초기화 순서 버그 발견호이스팅과 접근 가능성을 혼동

변수 선언의 기본은 const이고, 바뀌는 이유가 분명할 때만 let으로 좁게 둔다.