Javascript에서 변수를 선언하는 방법은 3가지가 있다.
var
es6 문법 도입 이전까지 변수 선언에 사용한 키워드 ( 재선언 가능, 재할당 가능 )
var a = 1;
console.log(a); // 1
var a = 2;
console.log(a); // 2
똑같은 이름의 변수를 선언하고 초기화 하더라도 에러가 나지 않는다.
var 키워드는 변수의 재선언, 재할당 모두 가능하기 때문에 코드양이 많아지게 되면 그만큼 유지 관리가 힘들다.
let
es6에서 도입된 변수 선언에 사용하는 키워드 ( 재선언 불가, 재할당 가능 )
let a = 1;
console.log(a);
let a = 2; // SyntaxError: Identifier 'a' has already been declared
console.log(a);
var 과는 달리 똑같은 이름으로 변수를 선언하면 이미 정의되어 있어서 선언할 수 없다는 에러 메시지를 띄운다.
console.log(b); // ReferenceError: Cannot access 'b' before initialization
let b = "a"
또한 let 키워드는 호이스팅시 변수를 초기화 하지 않고,
위 코드 처럼 b를 초기화하기 전에 액세스 할 수 없다는 에러 메세지를 띄운다.
const
es6에서 도입된 키워드. ( 재선언 불가, 재할당 불가 )
변수 값을 상수로 변경한다.
const a = 1;
a = 2; // TypeError: Assignment to constant variable
상수 값이므로 재할당하지 못한다.let과 마찬가지로 호이스팅시 변수를 초기화 하지 않는다.
참조 : https://developer.mozilla.org/ko/docs/Glossary/Hoisting
'Javascript' 카테고리의 다른 글
[Javascript] 프로토타입 ( Prototype ) (0) | 2024.08.22 |
---|---|
[Javascript] Random - 난수 생성하기 (0) | 2024.08.21 |
[Javascript] Map (0) | 2024.08.19 |
[Javascript] 소수 올림, 내림, 반올림 (0) | 2024.08.19 |
[Javascript] this (0) | 2024.08.14 |