변수 선언이란 변수를 생성하는 것을 말한다.
값을 저장하기 위한 메모리 공간을 확보하고 변수 이름과 확보된 메모리 공간의 주소를 연결해서 값을 저장할 수 있게 준비하는 것이다.
변수를 사용하려면 반드시 선언이 필요하다. 변수를 선언할 때는 var, let, const 키워드를 사용한다.
var
- 중복 선언 가능
- 함수 레벨 스코프
- 호이스팅 o(선언,초기화 부분이 분리x)
- 재할당 가능
let
- 중복 선언 불가능
- 블록 레벨 스코프
- 호이스팅 x처럼 보임(선언,초기화 부분이 분리)
- 재할당 가능
const
- 중복 선언 불가능
- 블록 레벨 스코프
- 호이스팅 x처럼 보임(선언,초기화 부분이 분리)
- 선언과 초기화 동시에 해야함(아니면 SyntaxError남)
- 재할당 불가능