본문 바로가기
개발공부_Blog/JavaScript

let, var, const 변수, 상수를 선언하는 키워드

by 독서개발자 2022. 9. 21.

let, var, const 는 변수와 상수를 선언하는 키워드다

ES5까지 변수를 선언할 수 있는 방법은 var키워드를 사용하는 것이었다.
하지만 var키워드를 사용해 변수를 선언하는 경우 여러가지 문제를 발생시킬 수 있다.
var키워드의 단점을 보완하기 위해 ES6에서는 새로운 변수 선언 키워드로 let과 const를 도입했다.
( 결론 : var키워드를 사용해 변수를 선언하는 것은 지양한다 !!! )

 

var 키워드를 사용한 변수 선언의 문제점

  • 변수를 중복 선언할 수 있다
  • 함수 레벨 스코프를 가지고 있다 ( 함수의 코드 블록만을 지역 스코프로 인정한다 )
  • 변수를 선언할 때 변수 호이스팅에 의해 선언과 초기화가 동시에 이뤄진다

 

let 키워드의 특징

  • 변수를 중복 선언할 수 없다
  • 블록 레벨 스코프를 가지고 있다. ( 모든 코드블록(if, for, while, try/catch 등)이 지역 스코프를 가진다 )
  • 변수를 선언할 때 변수 호이스팅에 의해 선언이 이루어지고, 변수 선언문에서 변수가 초기화된다.
    변수의 선언부터 초기화 단계가 이루어 지기까지 변수를 참조할 수 없는 일시적 사각지대(TDZ)가 생긴다. 

이전 글 : var, let 키워드의 변수 생성과정과 TDZ(일시적 사각지대)

이전 글 : 스코프 scope, 내가 내 이름, 값으로 불릴 수 있는 범위를 말한다

 

const 키워드의 특징

  • let키워드와 같은 특징을 가지고 있다.
  • 선언과 동시에 초기화 해야 한다.
  • 상수에는 재할당을 할 수 없다.

 

 

DeepDive - let,var,const

처음 책을 펼치기가 어렵지 막상 공부를 하기 시작하면 나도 모르게 검색을 하면서 정리 하고 있다. 예전에 무슨 말인지도 모르고 적어뒀던 것들이 조금씩 이해가 가기 시작했다. 

 

댓글