Community

모던 자바스크립트 Deep Dive 읽고 요약 - 4장 변수

컴퓨터는 CPU를 사용해 연산하고, 메모리를 사용해 데이터를 기억한다. 메모리는 데이터를 저장할 수 있는 메모리 셀로 구성되어 있으며 각 셀은 고유의 메모리 주소를 가진다. 메모리에 값을 저장해도 직접적으로 메모리 주소로 접근하는 것은 오류를 유발하는 올바른 방법이 아니기 때문에 우리는 프로그래밍 언어를 통해 기억하고 싶은 값을 메모리에 저장하고 저장된 값을 읽어 들여 재사용하기 위해 변수라는 매커니즘을 사용한다. 즉 변수란 "하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름" 이다. 그럼 변수의 선언 및 값의 할당은 어떻게 이루어지는가? 자바스크립트를 사용해 10의 값을 저장하는 방법은 다음과 같다. 1. var result - result라는 변수 이름(식별자) 를 var이라는 키워드를 사용하여 선언한다. 이 식별자 result는 메모리 주소를 기억하고 있어 메모리 공간에 접근할 수 있다. 2. 변수 선언은 런타임 이전에 실행되며 값을 동시에 할당해주어도 먼저 undefined로 초기화되고 값이 할당된다. (변수 호이스팅을 경험하는 이유). 3. var result = 10 - result에 10이라는 값을 할당했다. 값의 할당은 런타임에 실행되며 기존에 메모리에 저장된 undefined값을 지우는 것이 아닌 새로운 공간에 10을 저장한다. 4. 불필요한 값인 undefined는 가비지 콜렉터에 의해 자동 해제된다. 5. const 키워드를 사용하지 않았으면 값의 재할당이 가능하며 재할당시 마찬가지로 새로운 메모리 공간에 저장된다. 추가로 책에서 재밌는 구문을 찾아서 공유해보려고 한다. "컴퓨터에게 물어보라. (Ask the computer.)" - 스프링의 아버지 로드 존슨

알림

알림이 없습니다