본문 바로가기

Javascript/JS Basic

var, let, const

1.  var

 

(1) 변수를 선언

(2) 변수 선언전 선언과 초기화 동시 진행

(3) 변수를 블록을 고려하지 않고  전역, 지역 스코프 어디에서나 접근할 수 있는 변수를 선언

(4) 호이스팅(hoisting)이 적용

 

2.  let

 

(1)  let 은 블록 스코프의 범위를 가지는 지역 변수를 선언

(2) 선언과 초기화 단계가 분리되어 진행

(3) 구조 분해 할당 적용 가능

(4) 자신을 선언한 블록과 모든 하위 블록을 스코프

(5) 파서가 구문을 평가해야만 변수를 값으로 초기화

(6) 같은 변수를 같은 함수나 블록 스코프 안에서 다시 선언하려고 시도하면 에러 발생

 

3.  const

(1) 블록 범위의 상수 선언

(2) const로 선언한 것은 재할당 X, 재선언 X

(3) 초기화 필요

(4) 블록 범위 스코프

 

4.  TDZ(Temporal Dead Zone)

(1) 코드의 작성 순서(위치)가 아니라 코드의 실행 순서(시간)에 의해 생기는 사각지대

(2) 시작 부터 초기화 지점 사이의 단계

(3) let의 경우 이 구간에 메모리가 할당되지 않는 다면 참조 에러 발생

 

 

 

 

참고

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/var

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/let

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/const

'Javascript > JS Basic' 카테고리의 다른 글

async / await  (0) 2022.11.16
Callback 함수와 Promise  (0) 2022.11.16
Null, Undefined, NaN  (0) 2022.11.15
Javascript ES6  (0) 2022.11.15
비교 연산자(Comparison operater)  (0) 2022.11.14