본문 바로가기
728x90
반응형

var의 특징

 

  • 선언이 호이스팅되어, 코드 맨 위로 타임슬립해서 미리 존재한다. 심지어 if나 for 블록 안에 선언해도 밖에서 접근 가능하다. 하지만 자유롭지만 너무 자유로운만큼 버그 유발 가능성 있다.

 

let의 특징

 

  • 블록 스코프 안에서만 행동 가능하다. 같은 이름으로 다시 선언이 안되지만 값은 변경 가능하다.
  • undefined로 호이스팅되긴 하지만, "Temporal Dead Zone(TDZ)" 때문에 실제 사용 전에 접근하면 오류가 뜬다.

 

const의 특징

 

  • 선언과 동시에 초기화를 필수로 해야한다. 한 번 정하면 값을 바꿀 수 없다. (하지만 객체 내부는 바꿀 수 있음) 그렇기에 변하지 않는 값(상수) 선언에 적합하다.

 

 

특징 var let const
스코프 함수 스코프 블록 스코프 ({} 안에서만 유효) 블록 스코프 ({} 안에서만 유효)
호이스팅 O (선언이 위로 끌어올려짐) O (하지만 초기화는 안 됨) O (하지만 초기화는 안 됨)
재선언 O X X
재할당 O O X
용도
예전 코드 유지용 변경될 수 있는 값 선언 절대 바뀌지 않는 값 선언

 

예시 그림

 

반응형

'코딩 > Web' 카테고리의 다른 글

null vs undefined 차이  (1) 2025.06.04
Transpiling(트랜스파일링) - JavaScript  (0) 2025.05.10
JS 모듈 : Default Export와 Named Export의 차이점  (1) 2025.01.29
HTTP의 구조와 Method  (2) 2024.11.09
CommonJS와 ESModule  (3) 2024.10.05