Front/JS & jQuery

[javascript] var / let / const

오선지♬ 2022. 3. 26. 14:08
728x90
반응형

변수의 선언은  var, const, let  으로 할 수 있다.

ES6 에서 const 와 let이 추가되었다

 

var의 문제점

 - 변수 중복선언이 가능하다 → 예상치 못한 값이 반환될 수 있다

 - 함수 외부에서 선언한 변수는 전역변수로 설정된다.  → 함수 레벨 스코프 때문

 - 변수 선언이전에 변수를 참조하면 언제나 undefined를 반환.

 

 

let

 - 변수 중복선언이 불가능하다.

 - 재할당은 가능하다.

 - 지역변수로 선언됨. ( 블록레벨 스코프 ) 

 - 선언단계와 초기화 단계가 분리되어 진행 

    → 런타임 이전에 자바스크립트 엔진에 의해 선언 단계가 먼저 실행되지만, 초기화 단계가 실행되지 않았을 때

        해당 변수에 접근하려하면 참조에러가 뜬다. ( 일시적 사각지대- Temporal Dead Zone :TDZ )

 

const

 - 변수 중복선언이 불가능하다.

 - 재할당도 불가능하다.

 - 지역변수로 선언됨. ( 블록레벨 스코프 ) 

 - let과 다른 점이 반드시 선언과 초기화를 동시에 진행해야한다.

 

728x90
반응형