IT/JS
자바스크립트 ES6 let, const keyword
Koogler
2021. 5. 17. 15:14
자바스크립트 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;
b = 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는 상수
y = 2; // X 불가능 (Assignment to constant variable.)
|
cs |
그렇다면, let과 const의 차이점이 무엇일까요?
바로 const는 상수입니다. 한번 선언이 된 값에 대해서 변경을 할 수 없습니다.
그 외에 let과 유사합니다.
(let, const 변수 선언 시 호이스팅이 발생하지 않습니다.)
간단하게 ES6의 let, const에 대해 알아보았습니다.
감사합니다.
반응형