Today I Learned
모던 자바스크립트 Deep Dive 4장 변수
스마일리
2022. 1. 16. 23:17
🔑 키워드 정리
- 파싱(parsing) : 문자나 기호로 구성된 표현식의 의미를 해석하는 것
- 호이스팅 (hoisting) : 변수 선언문이 코드 상 어디에 위치하건 코드의 가장 맨 위로 올려진 것처럼 동작하는 특징
- 가비지 콜렉터 (garbage collector) : 더 이상 사용되지 않는 메모리(=어떤 식별자도 참조하지 않는 메모리 공간)를 해제하는 기능.
- 매니지드 언어(managed language)와 언매니지드 언어(unmanaged language) : 메모리 제어를 허용하지 않는 언어와 허용하는 언어.
🗒 내용 정리
- 변수
- 변수란 값을 저장하기 위한 메모리 공간이자 값의 위치를 가리키는 상징적인 이름이다.
- 변수 이름을 식별자라고도 한다. 값을 구별할 수 있는 고유한 이름이다. 값이 아니라 메모리 주소를 기억한다. 변수, 함수, 클래스 모두 식별자이다.
- var 키워드
- var 키워드의 단점은 블록 레벨 스코프를 지원하지 않고, 함수 레벨 스코프를 지원한다는 것이다. (15.1절 참고)
- 선언을 할 때마다 undefined 라는 값으로 초기화를 진행하므로 쓰레기 값이 생기는 문제로부터 비교적 안전하다.
- 기타
- 자바스크립트는 개발자의 직접적인 메모리 제어를 허용하지 않는다. 메모리 주소는 코드가 실행될 때 임의로 결정된다.
- 변수 호이스팅은 런타임 이전에 실행된다. 반면에 값의 할당은 런타임에 실행된다. (23장 참고)
- 자바스크립트에서는 변수나 함수 이름에는 카멜 케이스, 생성자 함수나 클래스 이름에는 파스칼 케이스가 사용된다.
// 카멜 케이스 var testName; // 파스칼 케이스 var TestName;