2022-01-08
이전 글에서 호이스팅에 대해 다루면서
var
, let
, const
세 가지 변수 선언 키워드에 대해 정리해보려 한다.
var
- 호이스팅된다.
- 직접 선언할 때와 호이스팅되어 메모리에 저장될 때 모두
undefined
로 초기화된다.
- 전역 변수로 선언할 경우 외부에서 참조가 가능하다. (다른 HTML의
<script>
태그 내에서 사용하거나 다른 JS 코드에서 사용하는 경우)
let
- 호이스팅된다.
- 직접 선언할 때는 초기화 값을 지정하지 않으면
undefined
로 선언된다.
- 호이스팅될 때에는 초깃값을 가지지 않고 선언만 메모리에 저장된다.
- 전역 변수로 선언할 경우 해당 변수를 선언한 스크립트 파일 내에서만 전역으로 사용이 가능하다. 즉, 외부에서 사용이 불가능하다.
const
- 호이스팅된다.
- 직접 선언할 때 반드시 초기화 값을 지정해야 한다.
- 한번 값이 할당되면 재할당이 불가능하다.
- 할당된 값이 리스트나 객체일 경우, 내부 값이나 프로퍼티의 값의 수정은 가능하다.