참고: 이웅모 《모던 자바스크립트 Deep Dive》 04장 · MDN Grammar and types — Variables
계산 결과를 다시 쓰려면 이름이 필요하다. 그게 변수다. 이 장은 “왜 변수인가”부터 선언·호이스팅·재할당·네이밍까지, 이후 let/const(15)의 바닥이다.
flowchart LR
DECL[선언] --> BIND[이름 바인딩]
BIND --> ASSIGN[할당]
ASSIGN --> READ[참조]
ASSIGN --> RE[재할당]
값을 재사용·추적·의도 표현. 매직 넘버를 이름 있는 상태로 바꾼다.
const taxRate = 0.1;
const price = 1000;
const tax = price * taxRate;
변수·함수·클래스 이름. 유니코드 허용 범위, 예약어 금지, 대소문자 구분.
var / let / const. 이 장 초점은 var 시대 감각 + 선언의 의미. 실무 기본은 const/let(15).
var x;
let y = 1;
const z = 2;
선언이 스코프 평가 단계에서 먼저 처리되는 것처럼 보인다. var는 undefined로 초기화, let/const는 TDZ(15).
console.log(a); // undefined with var
var a = 1;
선언과 할당은 다를 수 있다. =는 할당 연산(표현식).
같은 이름에 다른 값. const는 바인딩 재할당 불가(15).
let count = 0;
count = count + 1;