변수는 정보를 저장할 때 사용되며, 이때 이름을 정하여 저장하게 된다.
변수를 선언하기 위해서는
var
,let
,const
를 사용한다.
다만,var
는 개발자가 의도하지 않은 동작을 할 수 있기 때문에let
과const
만 사용하도록 하자.
let name = 'lee';
const age = 30;
변수를 선언하기 위해서는 let
과 const
로 시작하여 해당 변수의 이름 name
을 정하고 =
기호 뒤에 정보 lee
를 작성하면 된다.
이것은 이름 lee
는 name
이라는 변수에 저장하겠다는 의미이다.
두 변수의 선언 방식의 차이는 변수 재할당이 가능하냐 불가능 하냐의 차이가 있다.
let name = 'lee';
console.log(name); // lee
const age = 30;
console.log(age); // 30
두 코드를 console.log()를 통해 불러오면 각각 lee와 30이 출력된다.
let name = 'lee';
name = 'kim'
console.log(name); // kim
const age = 30;
age = 50;
console.log(age); // TypeError: "age" is read-only
let으로 선언한 변수 아래에 name = 'kim'
를 작성하여 name
의 변수에 새로운 이름을 재할당하였다면 정상적으로 재할당한 kim
이 출력된다.
그러나 const
에서는 TypeError: "age" is read-only
라고 오류가 뜬다. 즉 재할당이 불가능하다.
변수에는 3가지가 있다. 그렇다면 var는 이제 쓰이지 않는 것이고, let과 const가 있는데 어떤 것을 사용하는 것이 좋을까?
기본적으로 const를 사용하여 변수를 선언하고, 값의 재할당이 필요한 경우에 let으로 사용하는 것이 좋다고 한다.
var를 사용하지 않는 이유를 찾아보자 + (호이스팅)