데이터를 담아두고 꺼내 쓰는 상자
라고 생각하면 됩니다.
데이터를 담을때 상자에 이름을 붙여야 하는데 그것을 변수 선언
이라고 하죠!
이름을 붙여주기 위해선 var
, let
, contst
이 3가지 키워드로 선언이 가능합니다.
var name;
let age;
const gender
console.log(gender) // undefinde
이렇게 키워드
변수이름
으로 선언할 수 있습니다.
위와 같이 값을 지정하지 않으면 변수에는 기본적으로 undefinde
값이 들어가게 됩니다.
그럼 3가지 키워드의 차이점은 무엇일지 지금부터 알아보겠습니다!
할당에 대해 간략하게 설명하자면
var name;
name = "Jane";
만들어 놓은 변수에 Jane
이라는 값을 집어넣는것을 변수에 값을 할당한다고 합니다.
할당과 선언을 동시에 할 수도 있습니다.
var name = "Jane";
이렇게 하면 변수를 선언함과 동시에 값도 할당하게 됩니다.
이제 진짜 3가지 키워드들을 만나러 갑시다! 🛵
var a
a = 10;
console.log(a); // 10
a = 20;
console.log(a); // 20
→ 재할당 ⭕
var a = 20;
console.log(a); // 20
var a = 50;
console.log(a); // 50
→ 재선언 ⭕
var
로 선언한 변수는 동일한 이름으로 여러번 중복해서 할당 또는 선언이 가능합니다.let
과 const
키워드가 추가되었습니다.let a
a = 10;
console.log(a); // 10
a = 20;
console.log(a); // 20
→ 재할당 ⭕
let a = 50;
console.log(a);
// Uncaught SyntaxError: Identifier 'a' has already been declared
→ 재선언 ❌
var
와 다르게 let
은 해당 변수가 이미 선언되었다는 에러 메시지를 출력합니다. const a
a = 10;
console.log(a);
// Uncaught SyntaxError: Missing initializer in const declaration
❗const는 반드시 선언과 할당이 동시에 이루어져야 합니다!
const a = 10;
console.log(a); // 10
a = 20;
console.log(a);
// Uncaught TypeError: Assignment to constant variable.
→ 재할당 ❌
const a = 10;
console.log(a); // 10
const a = 20;
console.log(a);
// Uncaught SyntaxError: Identifier 'a' has already been declared
→ 재선언 ❌
const
는 constant(상수)의 약자로 바뀌지 않는 일정한 값을 뜻합니다.명사
로 사용합니다.숫자 사용이 불가능
합니다.예약어
를 제외한 변수명을 선언해야 합니다.표기법을 통일해서 사용
합니다. 일반적으로 카멜표기법
을 많이 사용합니다.재할당 | 재선언 | |
---|---|---|
var | O | O |
let | O | X |
const | X | X |
원하는 이름으로 변수를 선언하되 규칙은 지키자!
키워드는 var
, let
, const
3가지이고 차이점을 표로 정리해 봤다.
평소에는 var를 자주 썼는데 최근부터 let 또는 const로 쓰는 습관을 들이는 중이다.
기초적인 거라도 차근차근 쌓아가야지! 빠샤 👊👊