JavaScript는 변수를 선언하는 키워드가 정해져 있음
let
- 블록 스코프 지역 변수를 선언 (추가로 동시에 값을 초기화)
- 재할당 가능 & 재선언 불가능
- 블록 스코프를 갖는 지역 변수를 선언
const
- 블록 스코프 읽기 전용 상수를 선언 (추가로 동시에 값을 초기화)
- 재할당 & 재선언 불가능
- 선언 시 반드시 초기값을 설정 해야 하며, 이후 값 변경이 불가능
- let과 동일하게 블록 스코프를 가짐
var
- 변수를 선언 (추가로 동시에 값을 초기화)
- 재할당 & 재선언 가능*
- 호이스팅되는 특성으로 인해 예기치 못한 문제 발생 가능성 때문에
const와 let 사용을 권장
키워드 |
재선언 |
재할당 |
스코프 |
let |
X |
O |
블록 스코프 |
const |
X |
X |
블록 스코프 |
var |
O |
O |
함수 스코프 |
// 선언 : 변수를 생성하는 행위 또는 시점
// 할당 : 선언된 변수에 값을 저장하는 행위 또는 시점
let Numb // 선언
console.log(Numb) // undefined
Numb = 10 // 할당
console.log(Numb) // 10
let Numb = 0 // 선언 + 할당
console.log(Numb) // 0