Notice
Recent Posts
Recent Comments
Archives
반응형
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Today
Total
02-02 21:34
250x250
관리 메뉴

꿈꾸는 개발자의 블로그

[JavaScript] var, let, const 변수의 차이는? 본문

Programming/JavaScript

[JavaScript] var, let, const 변수의 차이는?

aldrn29 2022. 8. 7. 23:14

var, let, const

모두 변수를 선언하는 키워드이다.  ES5 까지만 해도 var 변수를 사용했지만, ES6 이후로 let, const가 추가되었다. 그렇다면 차이점에는 어떤 것이 있을까?

 

간단하게 정리해보면, 아래 표와 같다.

 

  var let const
재선언 가능 불가능
재할당 가능 불가능
스코프 함수 스코프 블록 스코프

 

1. 변수에 재할당

var의 경우에는 변수 재선언과 재할당이 가능하고, let은 변수에 재할당이 가능한 반면 const는 불가능하기 때문에 immtuable하다고 할 수 있다.

var number = 10
console.log(number) 	// 10

var number = 20		// 재선언
console.log(number) 	// 20

number = 30		// 재할당
console.log(number) 	// 30
let number = 10
let number = 20		// SyntaxError: Identifier 'number' has already been declared.

let number = 10
number = 30		// 재할당
console.log(number) 	// 30
const number = 10
number = 20		// TypeError: Assignment to constant variable.

 

2. 스코프 (Scope)

함수 스코프 변수인 var는 생성 단계에서 undefined로 초기화하기 때문에, 선언 시점보다 먼저 사용해도 에러를 발생하지 않는다.

console.log(number)
var number = 10

 

블록 스코프 변수인 let, const는 생성 단계에서 초기화되지 않기 때문에, 선언 시점보다 먼저 사용할 경우 참조 에러가 난다.

console.log(number)	// ReferenceError: Cannot access 'number' before initialization.
let number = 10

 

728x90
728x90
Comments