JavaScript data types, primitive vs reference values, typeof, NaN, and truthy/falsy values
JavaScript has primitive values like numbers and strings plus reference types like objects and arrays, and some runtime quirks like `typeof null` and `NaN`.
- Primitives copy by value
- Objects and arrays compare by reference
- `NaN` is a special number value
JavaScript data types, primitive vs reference values, typeof, NaN, and truthy/falsy values