❗❗이 내용은 모던 자바스크립트 Deep Dive 책을 읽고 새롭게 알게된 내용을 정리하였습니다❗❗
✅ 식별자 = 변수 이름
식별자란 어떤 값을 구별해서 식별할 수 있는 고유한 이름을 말하는데,
식별자는 메모리 공간에 저장되어 있는 어떠한 값을 구별하여 식별해 낼 수 있어야 한다.
이를 위해 식별자는 어떤 값이 저장되어 있는 메모리 주소를 저장 해야 한다.
식별자는 값이 저장되어 있는 메모리 주소와 매핑 관계를 맺고, 매핑 정보도 메모리에 저장되어야 한다.
식별자는 값이 아니라 메모리 주소를 기억하고,
식별자로 값을 구별해서 식별한다는 의미는 식별자가 기억하고 있는 메모리 주소를 통해 메모리 공간에 저장된 값에 접근할 수 있다는 의미이다. 즉 식별자는 메모리 주소에 붙인 이름이라 할 수 있다.
➕ 식별자란 용어는 변수 이름에만 국한되어 사용하지 않고, 변수, 함수, 클래스 등의 이름 또한 식별자라 할 수 있음.
즉, 메모리 상에 존재하는 어떤 값을 식별할 수 있는 이름은 모두 식별자라 부른다.
✅변수 호이스팅(variable hoisting)
변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징을 변수 호이스팅이라 한다.
console.log(score); // undefined
var score; // 1. 변수 선언
score = 80; // 2. 값의 할당
console.log(score); // 80
변수 선언은 소스코드가 순차적으로 실행되는 시점인 런타임 이전에 먼저 실행되지만 값의 할당은 소스코드가 순차적으로 실행되는 시점인 런타임에 실행된다.
✅ 값의 재할당
재할당 시 이전 값이 저장되어 있던 메모리 공간을 지우고 그 메모리 공간에 재할당 값을 새롭게 저장하는 것이 아닌,
새로운 메모리 공간을 확보하고 그 메모리 공간에 숫자 값을 저장한다.
그 이후 그 이전 값들, 불필요한 값들은 가비지 콜렉터에 의해 메모리에서 자동 해제된다.
'코딩 > 자바스크립트' 카테고리의 다른 글
자바스크립트, 8일차 (0) | 2024.04.25 |
---|---|
자바스크립트, 7일차 (0) | 2024.04.24 |
자바스크립트, 6일차 (0) | 2024.04.23 |
자바스크립트, 5일차 (0) | 2024.04.19 |
자바스크립트, 4일차 (1) | 2024.04.18 |