var
, let
, const
는 JavaScript에서 변수를 선언하는 키워드입니다.
var
는 함수 범위로 변수를 선언하며, 호이스팅이 일어나기 때문에 선언 전에도 변수를 사용할 수 있습니다.
let
과 const
는 블록 범위로 변수를 선언하며, 호이스팅이 발생하지 않습니다.
let
은 다시 할당할 수 있는 변수를 선언할 때 사용되고,
const
는 재할당이 불가능한 상수를 선언할 때 사용됩니다.
var
는 중복 선언과 재할당이 가능하며 마지막에 할당된 값이 변수에 저장됩니다.var greeting = "hello";
console.log(greeting); // hello
var greeting = "hi";
console.log(gretting); // hi
gretting = "how are you?";
console.log(gretting); // how are you?
let
은 중복 선언이 불가능하지만 재할당은 가능합니다.let
키워드를 사용하여 선언된 변수는 한 번만 선언할 수 있지만,
선언 후에는 그 값을 변경할 수 있다는 것을 의미합니다.let greeting = "hello";
console.log(greeting); // hello;
let greeting = "hi";
console.log(greeting);
// Uncaught Syntax Error: Identifier 'greeting' has already been declared.
greeting = "how are you?";
console.log(greeting); // how are you?
const greeting = "hello";
console.log(greeting); // hello
const greeting = "hi";
console.log(greeting);
// Uncaught Syntax Error: Identifier 'greeting' has already been declared.
greeting = "how are you?";
console.log(greeting);
// Uncaught Type Error: Assignment to constant variable