NodeJS
자바스크립트에서 데이터 타입이 필요한 이유
MiteDev
2022. 6. 21. 22:40
1. 값을 저장할 때 확보해야 하는 메모리 공간의 크기를 결정하기 위해
- let score = 65; 에서 자바스크립트 엔진은 리터럴 65를 숫자(실수) 타입의 값으로 해석하고 숫자타입의 값 100을 저장하기 위해 8바이트의 메모리 공간을 확보한다.
2. 값을 참조할 때 한 번에 읽어 들어야 할 메모리 공간의 크기를 결정하기 위해
- 식별자를 통해 값이 저장되어 있는 선두 메모리셀의 주소를 찾아갈 수 있는데, 이때 값을 참조하려면 한 번에 읽어들여야 할 메모리 셀의 개수를 알아야 한다. score 변수에는 저장된 값이 숫자 타입이므로 8바이트 단위로 읽어들이지 않으면 값이 훼손된다.
3. 메모리에서 읽어들인 2진수를 어떻게 해석할지 결정하기 위해
- 메모리 공간에 0100 0001을 숫자로 해석하면, 65이지만, 문자열로 해석하면 'A'이다. 앞의 score 변수에 할당된 값은 숫자 타입의 값이므로 score 변수를 참조하게 되면 메모리 공간에서 읽어들인 2진수를 숫자로 해석한다.
ref. 모던 자바스크립트 Deep Dive