6.1 숫자 타입
- 숫자타입의 값은 배정밀도 64비트 부동소수점 형식을 따르며, 모든 수는 실수로 처리된다.
- 정수, 실수, 2진수, 8진수, 16진수 리터럴은 모두 메모리에 배정밀도 64비트 부동소수점 형식의 2진수로 저장되고 이들 값을 참조하면 모두 10진수로 해석된다.
- 숫자 타입은 아래 세 가지 특별한 값도 표현할 수 있다.
Infinity : 양의 무한대
-Infinity : 음의 무한대
NaN : 산술 연산 불가(not-a-number)
6.2 문자열 타입
- 자바스크립트의 문자열은 원시 타입이며, 변경 불가능한 값이다.
6.3 템플릿 리터럴
6.5 undefined 타입
- undefined는 자바스크립트 엔진이 변수를 초기화할 때 사용하는 값이다.
- 따라서
개발자가 값이 없다는 것을 명시하고 싶을 때는 undefined가 아니라 null을 할당하는 것이 권장된다.
6.6 null 타입
6.7 심벌 타입
- 심벌은 변경 불가능한 원시 타입의 값이다.
- 심벌은 Symbol 함수를 호출해 생성하며 다른 값과 중복되지 않는다.
6.9 데이터 타입의 필요성
- 값을 저장할 때 확보해야 하는 메모리 공간의 크기를 결정하기 위해
- 값을 참조할 때 한 번에 읽어 들여야 할 메모리 공간의 크기를 결정하기 위해
- 메모리에서 읽어 들인 2진수를 어떻게 해석할지 결정하기 위해
6.10 동적 타이핑
- 기본적으로 변수는 타입을 갖지 않는다.
- 현재 변수에 할당되어 있는 값에 의해 변수의 타입이 동적으로 결정된다.