변수
하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름
식별자 (=변수 이름)
어떤 값을 구별해서 식별할 수 있는 고유한 이름
값이 아닌 메모리 주소를 기억함. 메모리 주소에 붙인 이름
값의 할당
변수 선언 - 런타임 이전에 먼저 실행(값은 undefined로 초기화)
값의 할당 - 소스코드가 순차적으로 실행되는 시점인 런타임에 실행
undefined로 초기화된 변수에 값을 할당할때는 기존 메모리에 덮어쓰는것이 아닌 새로운 메모 공간을 확보한 후 그곳에 값을 저장한다.
이는 값을 재할당할때도 마찬가지라서 이전 값이 저장된 메모리 공간은 필요없어짐.
이런 값들은 가비지 콜렉터에 의해 자동 해제된다.
*가비지 콜렉터: 메모리 공간을 주기적으로 검사하여 더 이상 사용되지 않는 메모리를 해제하는 기능
'JavaScript' 카테고리의 다른 글
[JavaScript] 객체 리터럴 (0) | 2021.12.26 |
---|---|
[JavaScript] 값, 리터럴, 표현식, 문 (0) | 2021.12.26 |
[JavaScript] 호이스팅: 변수와 함수의 호이스팅 차이점 (0) | 2021.12.14 |
JavaScript와 비교한 TypeScript의 특징과 장점 (0) | 2021.12.10 |
[JavaScript] 이벤트 루프: 자바스크립트는 싱글 스레드라면서 왜 비동기 방식인가요? (0) | 2021.12.10 |