let·const와 블록 스코프의 예측 가능성

let과 const는 var를 대체하는 취향 문제가 아니라 변수가 살아 있는 범위를 블록으로 제한해 값 추적을 단순하게 만든다.

문제var에서 생기는 혼선let/const의 대응좋은 기준
Function scope블록 밖에서도 값이 남음블록 밖 접근 차단필요한 위치에 선언
Hoisting선언 전 undefined 읽힘TDZ로 접근 오류초기화 전 사용 금지
Loop closure반복 콜백이 같은 변수 공유반복마다 새 binding비동기 반복 값 확인
Reassignment의도 없는 값 변경const로 재할당 방지변경 가능한 값만 let
Readability값 수명이 길어짐수명이 짧아짐선언과 사용 위치가 가까운가

블록 스코프는 코드를 짧게 만드는 문법이 아니라 값이 어디까지 살아 있는지 독자가 예측하게 하는 장치다.