Language/Java Script

[Vanilla Java Script] 변수 let, const, var

반응형

JS에서의 변수의 종류와 선언, 할당에 대해 알아보자!
ECMA Script 6+

 

변수 선언 키워드

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

js에서 변수 선언 키워드는 let, const, var 3가지가 있다. 과거의 js에서는 모두 var로 통용되었는데 호이스팅*등의 문제로 ES6+로는 let과 const를 사용하는 것을 권장하고 있다.

*호이스팅 : 변수 선언 이전에 참조 할 수 있는 현상으로, 선언 전에 사용하면 undifined를 반환

 

변수 선언 및 할당

변수는 선언 후  할당할 수 도 있고, 선언과 할당을 동시에 할 수 있다.

let num1 // 선언
console.log(num1) // undefined

num1 = 10 // 할당
console.log(num1) // 10

let num2 = 5 // 선언 + 할당
console.log(num2) // 5

 

let과 const

let은 재할당 가능, const는 재할당 불가능이라는 특징을 가진다. 재할당은 이미 값이 할당된 변수에 다시 값을 할당하는 것으로 재선언과는 다르다. 재선은은 let과 const 모두 불가능하다

// 재할당
let num1 = 10
num1 = 20
console.log(num1) // 20

const num2 = 10
num2 = 20
console.log(num2) // Uncaught TypeError: Assignment to constant variable.


// 재선언
let num3 = 10
let num3 = 20 // Uncaught SyntaxError: Identifier 'num3' has already been declared

 

단, 배열 혹은 오브젝트에 원소를 추가하는 것은 재할당이 아니므로, const를 사용해도 무관하다. 일반적으로 반복문에서 인덱스 순회를 위한 변수로는 let을 사용한다.

반응형