
모던 자바 스크립트 Deep Dive
를 공부하며 정리하는 글입니다.
1. 변수란 무엇인가? 왜 필요한가?
변수를 설명하기 전, 자바스크립트에서 데이터를 저장하는 방법에 대해 먼저 알아보자.
메모리 (Memory)
- 사람은 계산과 기억을 모두 두뇌에서 하지만, 컴퓨터는 연산과 기억을 수행하는 부품이 나눠져 있다.
- 컴퓨터는 CPU를 사용해 연산하고, 메모리를 사용해 데이터를 기억한다.

- 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체이다.
- 메모리 셀 하나의 크기는 1바이트(8비트)이며, 컴퓨터는 메모리 셀의 크기, 즉 1바이트 단이로 데이터를 저장하거나 읽어들인다.
- 각 셀은 고유의 메모리 주소를 갖는다.
- 메모리 주소는 메모리 공간의 위치를 나타내며, 0부터 시작해서 메모리의 크기만큼 정수로 표현된다.
- 컴퓨터는 모든 데이터를 2진수로 처리하므로, 메모리에 저장되는 데이터는 데이터의 종류(숫자, 텍스트, 이미지, 동영상 등)와 상관없이 모두 2진수로 저장된다.
메모리에 저장 완료!
- 덧셈을 하면 CPU가 연산해서 숫자를 만들어주고, 그 수는 메모리에 저장된다.
- 1 + 2 를 하면 3이라는 답이 메모리에 저장된다.
- 하지만 CPU가 연산해서 만들어낸 숫자 값을 재사용할 수 없다.
- 연산 결과가 저장된 메모리 공간에 직접 접근하는 것 외에는 방법이 없다.
직접 메모리에 접근하기
그렇다면 개발자가 직접 메모리 공간에 접근해도 괜찮을까?
답은 아니다 !!
- 메모리 주소를 통해 값에 직접 접근하는 것은 치명적 오류를 발생시킬 가능성이 높은 매우 위험한 일이다.
- 실수로 운영체제가 사용하고 있는 값을 변경하면 시스템을 멈추게 하는 치명적인 오류가 발생할 수도 있기 때문
- 따라서 자바스크립트는 개발자의 직접적인 메모리 제어를 허용하지 않는다.