본문 바로가기

Dev-/java script, jQuery, Ajax

var, let, const 차이

1. var

/**
* 몇번이고 '재선언' 가능 -> 혼란 야기
*/
var a = 3;
var a = 4;
var a = 6;


/**
* 아래와 같은 경우..
*/
for (var i = 0; i < 10; i++) {}
console.log(i);

i가 10이 출력된다....



2. let

/**
* '재선언' 불가 --> 에러
*/
let a = 3;
let a = 4;
let a = 6;

/**
* '재할당'은 가능
*/
a = 5;
a = 6;


/**
* 아래와 같은 경우..
*/
for (let i = 0; i < 10; i++) {}
console.log(i);


3. const

/**
* '재선언' 불가
*/
const a = 3;
const a = 4;
const a = 6;

/**
* '재할당'도 불가능
*/
a = 5;
a = 6;






요약하면

1. var - 이상한 변수

A. 재선언 : O B. 재할당 : O

2. let - 상식적인 변수

A. 재선언 : X B. 재할당 : O

3. const - 일반적인 상수

A. 재선언 : X B. 재할당 : X



참고로 아래와 같은 호이스팅은 let도 가능하다.

a = 3;
var a;
a = 3;
let a;