참고: 이웅모 《모던 자바스크립트 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]
IEEE 754 배정밀도. NaN, Infinity. 정수 리터럴·소수·지수·bigint는 별타입.
console.log(0.1 + 0.2);
console.log(Number.MAX_SAFE_INTEGER);
유니코드. 불변. ', ", 템플릿 ` .
멀티라인·${expr} 삽입·태그드 템플릿.
const name = '민섭';
console.log(`hi ${name}`);
true/false. 조건 문맥의 truthy/falsy는 9장.
선언 후 미할당, 없는 프로퍼티, 반환 없는 함수. 의도로 undefined 할당은 비추.
의도적 빈 값. typeof null === 'object' 함정.
유일한 값. Symbol('desc'). 객체 키로 충돌 방지(33).