JavaScript/JS

자바스크립트(JS) 변수/식별자란? 변수선언방법과 차이 (var, let, const)

hihiha2 2023. 1. 12. 17:36

1. 정의

변수란?
데이터 저장공간
값의 위치를 가르키는 상징적인 이름



자바스크립트는 데이터를 저장하기 위해서 변수를 선언하여 사용한다
변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 or 그 메모리공간을 식별하기 위해 붙인 이름이다.


🔫 <주의>식별자는 값이 아니라 메모리 주소를 기억하고 있다 🔫

var score;
var score=80;

변수를 할당할 때는 이전 값 undefinded가 저장되어 있던 메모리 공간을 지우고 그 메모리 공간에 새롭게 80을 저장하는 것이 아니라, 새로운 메모리 공간을 확보하고 그곳에 할당값 80을 저장한다는 점에 주의하자!!

 

2. 변수선언과 할당

var score; // 변수선언
score = 80; // 값의 할당

 

3. 변수선언단계 2가지

1️⃣ 선언단계: 변수이름을 등록해서 자바스크립트 엔진에 변수의 존재를 알린다
2️⃣ 초기화단계: 값을 저장하기 위한 메모리공간을 확보하고 암묵적으로 undefined를 할당해 초기화한다.

var score;

score라는 변수를 선언하고 할당을 하지 않으면, 메모리 공간에 이름을 지정하고 undefined를 할당하는 작업을 한다.

4. 변수선언방법 3가지

  1. var
  2. let
  3. const

 

1️⃣ var

자바스크립트 초창기 변수선언키워드

변수의 중복선언, 재할당 모두 가능

이미 똑같은 이름의 변수공간이 선언이 되어있더라도 다시 한번 그 공간에 대한 지정이 가능하다(재할당)
➡️ 대규모 프로젝트시에 위험성이 있다

var num =10;
console.log(num);

var num =20;
console.log(num);

2️⃣ let

변수의 중복선언 불가능, 재할당은 가능

let num =10;
console.log(num);

let num =20;
console.log(num); 


이미 num이라는 변수가 선언되었다는 에러메시지가 출력된다. (ReferenceError 참조에러)

3️⃣ const

변수의 중복선언, 재할당 불가능

const 키워드로 선언한 변수는 반드시 선언과 동시에 초기화해야한다.

const foo=1; (O)
const foo; (X)

var, let, const 차이점 정리

  var let const
중복선언 O X X
재할당 O O X

 

✍️직접 공부하고 기록한 내용입니다(모던자바스크립트)📚
(직접 velog에 작성한 글 이전)