자바스크립트 ES6의 let, const에 대해 알아보도록 하겠습니다.

 

'let', 'const' keyword

JS ES5 이전에는 변수를 선언할 때 'var'로 통일하였습니다.

문제점도 많았죠.

 

1
2
var abc = "1234";
var abc = "12345"// O 가능
cs

 

var로 변수를 재선언시에는 해당 코드는 문제없이 허용되었습니다.

 

1
2
test = 1
var test = "1234" // O 가능
cs

 

또한, 해당 문법 또한 호이스팅(Hoisting)으로 허용되었습니다.

(함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 범위 최상단으로 끌어올리는 것)

 

(어쩌면, 문제점보단 이점으로 보았을지도 모르지만요.)

 

ES6의 let과 const는 달라졌습니다.

 

1
2
3
4
5
let a = 10;
let a = 20// X 불가능 (Identifier 'a' has already been declared)
 
let b = 10;
= 20// O 가능
cs

 

let, cosnt는 block scope로 범위 내에서 선언이 가능하며, 변수의 재선 언도 불가능합니다.

 

1
2
3
4
5
const x = 2;
const x = 3// X 불가능 (Identifier 'x' has already been declared)
 
const y = 1// const는 상수
= 2// X 불가능 (Assignment to constant variable.)
cs

 

그렇다면, let과 const의 차이점이 무엇일까요?

바로 const는 상수입니다. 한번 선언이 된 값에 대해서 변경을 할 수 없습니다.

그 외에 let과 유사합니다.

(let, const 변수 선언 시 호이스팅이 발생하지 않습니다.)

 

간단하게 ES6의 let, const에 대해 알아보았습니다.

감사합니다.

 

반응형

+ Recent posts