[Javascript] 변수와 상수 (var, let, const)
Variable
자바스크립트에서 변수는 할당한 값을 언제든지 바꿀 수 있으며, var과 let이 있다.
1. var
var num = 123; // 변수 선언
console.log(num); // 123
num = 456; // 변수 재할당
console.log(num); // 456
var num = 123456; // 변수 재선언
console.log(num) // 123456
- 이미 선언한 변수에 값을 다시 할당할 수 있다.
- 이미 선언한 변수를 다시 선언할 수 있다.
2. let
let num = 123; // 변수 선언
console.log(num); //123
let num = 456; // 변수 재할당
console.log(num); // 456
let num = 123456; // Error(변수 재선언 불가능)
- 이미 선언한 변수에 값을 다시 할당할 수 있다.
- 이미 선언한 변수는 다시 선언할 수 없다. (var 과 차이점)
Constant
자바스크립트에서 상수는 한번 할당한 값을 바꿀 수 없다.
3. const
const num = 123; //상수 선언
console.log(num); // 123
num = 456; // Error(상수 재할당 불가능)
- 이미 선언한 상수에 값을 다시 할당할 수 없다.
- 이미 선언한 상수는 다시 선언할 수 없다.
Hoisting
Hoisting은 함수 내의 변수 선언이 함수의 맨 위에 올라간 것처럼 작동하는 것을 의미한다. (이때 변수는 var로 선언한 변수)
- var로 선언한 변수의 경우
console.log(variable); // undefined
var variable = 1; // 변수 선언
console.log(variable); // 1
- let으로 선언한 변수의 경우
console.log(variable); // Error
let variable = 1; // 변수 선언
console.log(variable); // 1