JavaScript/기초/Lesson 03
변수 — let · const · var
45분·theory
이 챕터
2/5
변수 — let · const · var
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ var 가 왜 위험 한지 (function scope · hoisting)
- ▸✅ TDZ (Temporal Dead Zone) 가 무엇인지
- ▸✅ 재할당 가능성으로 const / let 선택
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
변수가 뭐냐
핵심 한 줄
변수 = 값을 이름으로 저장 하는 그릇. JS 에는 3가지 키워드 — var·let·const — 가 있는데, 역사적 이유 로 셋이 공존합니다. 결론: const 먼저, 필요하면 let, var 는 절대 X.
const — 한 번 정하면 끝
가장 자주 쓰는 키워드. 95% 의 변수 는 const 면 충분합니다. 재할당이 불필요 한 게 보통이거든요.
> ⚠️ 헷갈리는 점: const 는 재할당 금지 일 뿐, 내부 수정 은 가능:
let — 변경이 진짜 필요할 때
반복문 카운터·누적 합계 등 값이 바뀌어야 하는 경우. const 로 시작하다가 진짜 필요할 때만 let.
var — 옛 키워드, 쓰지 마세요
2015 이전 JS 에는 var 만 있었습니다. 하지만:
- ▸함수 스코프 —
if안에서 선언해도 함수 전체 적용 - ▸호이스팅 (hoisting) — 선언 위치 무관 사용 가능 (혼란 야기)
- ▸재선언 가능 — 같은 이름 두 번 선언해도 에러 X
이런 예측 불가 특성 때문에 버그 양산. 이제 옛 코드에만 보입니다.
블록 스코프 — let·const 의 진짜 가치
let·const 는 블록 ({}) 안에서만 유효. 예측 가능 + 변수 충돌 방지.
명명 규칙
한 번 정리
const 먼저 쓰고 진짜 필요할 때만 let 으로 바꾸세요.
⚡ 직접 해보기 — const · let · var
const 와 let 을 직접 다뤄보고, 재할당 시 어떤 에러가 뜨는지 확인해보세요.
✏️ JS 코드
📟 콘솔 출력
▶ 실행 버튼을 눌러보세요
⚠️ 브라우저 샌드박스에서 실행 — console.log()만 지원, alert/fetch 불가
🤖 AI 에게 이렇게 요청해보세요
이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.
- ▸"이 코드의 var 를 전부 const/let 으로 바꿔줘"
- ▸"재할당 가능성을 분석해서 const 우선으로 정리해줘"
- ▸"이 코드에서 hoisting 문제 가능성 진단해줘"
왜 이게 토큰을 줄이나
개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.
먼저 읽으면 좋은 개념: JavaScript란?
다음 추천: 자료형