Practice/JavaScript

변수 var, let, const 차이점

밍미a 2022. 5. 30. 16:58
728x90

# 공부 하기 위한 노트여서 적어는 놓지만 (?) 표시가 되어진 곳은 아직 이해가 안되어 더 공부해야 할 부분이다.

 

 

변수란? 데이터를 저장하기 위한 그릇같은 공간이다.

하나의 변수에는 하나의 값만 저장된다.

 

자바 스크립트에서 변수를 사용하기 위해서는 변수를 선언해주어야 하는데

변수를 선언하는 방법은 3가지가 있다.

1. var

2. let

3. const

 

2015년도 이전까진 자바스크립트에서 변수를 선언하기 위해 var가 사용되었었고

2015년도 이후에 나온 ES6에서 let과 const가 추가되었다.

 

var에는 3가지의 문제점이 존재하는데

1. 변수 중복 선언이 가능하여 예기치 못한 값을 반환할 수 있다.

2. 함수 레벨 스코프로 인해 함수 외부에서 선언한 변수는 모두 전역 변수로 된다. (?)

3. 변수 선언문 이전에 변수를 참조하면 언제나 undefined를 반환한다.

 

이를 해결하기 위해 let과 const 키워드가 추가되었다.

let 키워드는

변수 중복 선언이 불가하지만, 재할당은 가능하다.

 

const 키워드는

변수 중복 선언이 불가하고 재할당 또한 불가하다. 

변수 재할당이 불가능하다는 것은 원시 값은 불가능하지만 객체의 재할당은 가능하다. (?)

또한 반드시 선언과 초기화가 동시에 진행된다. (?)

 

 

따라서 var보다는 let을 사용하는것이 안전하며. 변하지 않는 값(상수)라면 const를 사용하는것이 안전하다.

 

 

 

 

* 참고 블로그

https://www.howdy-mj.me/javascript/var-let-const/

https://velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90