[JS] var, let, const의 차이점

hzn·2022년 9월 6일
0

JavaScript

목록 보기
5/17
post-thumbnail

var

유효 범위: 전역 또는 함수 스코프

  • 값 재할당: 가능
  • 재선언: 가능 ( => 위험!)
  • 전역 레벨(window 객체)로 선언
    : 전역에서 참조할 수 있다. (호이스팅에 의해. 접근만 가능. 값을 가져오지는 못함. 값을 가져오는 것은 유효 범위(= 함수 스코프) 안에서.)

var보다 let 키워드를 권장하는 이유

  • 블록 단위로 스코프를 구분했을 때, let이 훨씬 예측 가능한 코드를 작성할 수 있다. (var는 블록 스코프를 무시)
  • var 키워드는 재선언이 가능해서 위험. (보통 코딩할 때 재선언이 필요한 경우는 없음)

let

유효 범위: 블록 스코프 및 함수 스코프

  • 값 재할당: 가능
  • 재선언: 불가능
  • 지역 레벨(선언된 블록 또는 함수)로 선언

const

유효 범위: 블록 스코프 및 함수 스코프

  • 값 재할당: 불가능
  • 재선언: 불가능
  • 지역 레벨(선언된 블록 또는 함수)로 선언

const로 선언한 것이 참조형 데이터(배열, 객체...)일 때

  • 값을 재할당하는 것은 금지되지만 (주소값을 바꿀 수 X)
  • 속성은 추가, 삭제, 값 수정을 할 수 있다.

0개의 댓글