꾸준히 합시다
변수: 선언, 초기화, 할당 본문
- 자바스크립트에서 변수는 선언, 초기화, 할당, 이 세 단계의 생성 과정을 가지고 있다.
- 첫 번째 단계인 변수의 선언은 var, let, const 키워드를 사용해 엔진에 변수의 존재를 알리는 가장 첫 단계이다.
- 그다음 초기화 단계를 통해 메모리 공간을 확보하고 변수는 undefined로 초기화된다.
- 마지막 할당 단계에서는 undefined로 초기화된 변수에 할당 연산자(=)를 사용해 메모리에 특정한 값을 넣게 된다.
변수 생성 단계
- 선언(Declaration)
- 자바스크립트에서의 변수 선언은 실행 컨텍스트의 변수 객체에 변수를 등록하는 단계를 의미한다.
- 이 변수 객체는 스코프가 참조하는 대상이다.
- 한 마디로 스코프에 변수를 등록하는 단계이며 이 단계에서 호이스팅이 일어난다.
- 초기화(Initialization)
- 초기화는 실행 컨텍스트에 존재하는 변수 객체에 선언 단계의 변수를 위한 메모리를 만드는 단계이다.
- 이 단계에서 할당된 메모리에 undefined로 초기화된다.
- 할당(Assignment)
- 할당은 undefined로 초기화된 메모리에 할당 연산자(=)를 사용하여 다른 값을 넣는 것이다.
변수 선언 키워드 (var, let, const)
- var
- 선언 + 초기화 단계
- var 키워드로 선언된 변수는 선언 단계와 초기화 단계가 한 번에 이루어진다.
- 그렇기 때문에 변수의 선언 이전에 변수에 접근해도 에러를 발생시키지 않는다.
- 할당 단계
- let
- 선언 단계
- 초기화 단계
- 실제 코드에 도달했을 때 초기화 됨
- 변수를 선언하기 전에 참조를 시도한다면 ReferenceError가 발생한다.
- 할당 단계
- const
- 선언 + 초기화 + 할당
- const 키워드로 변수를 선언할 경우, 선언과 동시에 초기화를 해야 하며 그렇지 않으면 컴파일 에러가 발생한다
'자바스크립트 기초' 카테고리의 다른 글
Array.prototype.sort() 특정 기준으로 정렬하기 + Sequelize ORM (0) | 2022.07.21 |
---|---|
var, let, const의 차이점 (0) | 2022.06.06 |
call by value, call by reference in JS (0) | 2021.12.21 |
스코프와 호이스팅 Scope and Hoisting (0) | 2021.12.03 |
삼항 연산자 (0) | 2021.07.17 |
Comments