var, let, const가 어떻게 다른가요?

김영석·2023년 3월 23일
0

서론

var는 ES5, let과 const는 var에서 파생되는 문제점들을 보완하기 위해 ES6부터 도입된 변수 선언 방법이다.

Var 특징

var의 특징으로는 var를 통해 전역으로 변수를 선언하면 전역객체 속성으로 등록이 가능 하고, 재선언과 재할당이 가능하며, 호이스팅이 가능하다.

호이스팅

호이스팅이란? 변수 선언문이 앞으로 끌려 옮겨진것 처럼 작동한다는 뜻이다

이러한 특징들 때문에 var로 변수을 선언했을 때, 문제점들이 발생하여, let과 const가 추가되다.

let 과 const

let 과 const는 블록 레벨의 유효범위이다. 모든 코드블록(함수, if문, for문, while문, try/catch문 등등) 내에서 선언된 변수는 코드 블록 내에서만 유효하며, 선언된 코드 블록 외부에서는 참조할 수 없다.
재선언이 불가능하며, 호이스팅 허용되지 않는다. 또한 var와 다르게 전역으로 선언하여도 전역 객체의 속성으로는 사용이 불가능 하다.

let과 const 의 차이점은 재할당의 가능 유무 이다. let은 재할당이 가능 하지만 const는 재할당이 불가능 하다.

let a = 1
a =2
console.log(a) // 2

const a = 1
a = 2 // 재할당이 불가능하다는 오류가 발생한다.

profile
백엔드 개발자

0개의 댓글