참고: 이웅모 《모던 자바스크립트 Deep Dive》 06장 · MDN Data structures

typeof를 치며 “숫자인데 소수/정수 구분이 없네”에 놀랐다. JS 타입은 원시(number/string/boolean/undefined/null/symbol/bigint)와 객체로 나뉜다. 이 장이 그 목록이다.

flowchart TB
  T[타입] --> P[원시]
  T --> O[객체]
  P --> N[number]
  P --> S[string]
  P --> B[boolean]
  P --> U[undefined]
  P --> NL[null]
  P --> SY[symbol]
  P --> BI[bigint]

6.1 숫자

IEEE 754 배정밀도. NaN, Infinity. 정수 리터럴·소수·지수·bigint는 별타입.

console.log(0.1 + 0.2);
console.log(Number.MAX_SAFE_INTEGER);

6.2 문자열

유니코드. 불변. ', ", 템플릿 ` .

6.3 템플릿 리터럴

멀티라인·${expr} 삽입·태그드 템플릿.

const name = '민섭';
console.log(`hi ${name}`);

6.4 불리언

true/false. 조건 문맥의 truthy/falsy는 9장.

6.5 undefined

선언 후 미할당, 없는 프로퍼티, 반환 없는 함수. 의도로 undefined 할당은 비추.

6.6 null

의도적 빈 값. typeof null === 'object' 함정.

6.7 심벌

유일한 값. Symbol('desc'). 객체 키로 충돌 방지(33).

6.8 객체 타입