[면접준비] var, let, const에 대해

MOONJUNG·2022년 11월 28일
0

TIL

목록 보기
1/5

var, let, const에 대하여

var

  • 중복 선언 허용 (재할당O, 재선언O)
  • 함수 레벨 스코프 : 함수의 코드 블록만을 지역 스코프로 인정
  • 코드 블록 내에서 선언해도 모두 전역 변수가 된다
    -> 이로인해 의도치 않게 전역 변수가 중복 선언되는 경우가 발생

let

  • 변수 중복 선언 금지 (재할당O, 재선언X)
  • 블록 레벨 스코프 : 모든 코드 블록을 지역 스코프로 인정한다

const

  • 반드시 선언과 동시에 초기화 (재할당X, 재선언X)
  • let과 동일하게 블록 레벨 스코프
  • 변수에 객체를 할당할 경우 값을 변경할 수 있다

새 변수 모두 호이스팅되지만, let, const 변수는 TDZ(Temporal Dead Zone, 일시적 사각지대)의 제약을 받아 ReferenceError를 발생시킨다

일시적 사각지대란?

스코프의 시작 시점부터 초기화 단계 시작 지점(변수 선언문)까지 변수를 참조할 수 없는 구간

profile
뜨거운 열정으로 꿈을 실현하는 프론트엔드 개발자 장문정

0개의 댓글