TIL

[자바스크립트] 변수

세모이 2022. 3. 14. 17:58
반응형

변수

컴퓨터에 저장되는 데이터는 데이터 종류에 관계없이 모두 2진수로 저장된다.

변수 - 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름

식별자 - 어떤 값을 구별해서 식별할 수 있는 고유한 이름(값이 저장돼 있는 메모리 주소와 매핑 관계) / 식별자는 값이 아니라 메모리 주소를 기억하고 있음


✅ 변수 선언

변수 선언 - 값을 저장하기 위한 메모리 공간을 확보하고 변수 이름과 확보된 메모리 공간의 주소를 연결해 값을 저장할 수 있게 준비하는 것

자바스크립트 엔진은 변수 선언을 2단계에 거쳐 수행함
1. 선언 단계 - 변수 이름을 등록해서 자바스크립트 엔진에 변수의 존재를 알림
2. 초기화 단계 - 값을 저장하기 위한 메모리 공간을 확보하고 암묵적으로 undefined를 할당해 초기화


✅ 변수 선언의 실행 시점과 변수 호이스팅, 값의 할당

console.log(test); // undefined

var test;

-> 변수 선언이 소스코드가 실행되는 런타임이 아니라 그 전 단계에서 먼저 실행되기 때문에 undefined가 출력됨

변수 호이스팅 - 변수 선언문(함수 선언)이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 특징

값의 할당 - 소스코드가 순차적으로 실행되는 런타임에 실행

반응형