AbortController is not only for fetch. Any promise you write can accept a signal, and one controller can cancel a whole group of them.
A tag function receives the static strings and the interpolated values separately, which is exactly what you need to escape input safely.
Every property has writable, enumerable and configurable flags. Knowing them explains hidden properties, read only values and computed fields.
Object.freeze protects one level. Nested objects stay writable, and in sloppy mode the failed writes do not even throw.
The JSON round trip silently drops Dates, Maps, Sets, undefined and typed arrays. structuredClone keeps them, and it handles cycles.
A generator pauses at every yield and does no work until you ask for the next value. That makes infinite sequences and lazy pipelines ordinary code.
A Proxy intercepts reads and writes on an object. Typos become errors, missing keys get defaults, and every access can be logged.
Paged APIs, streams and anything that arrives over time can be looped like an array, once you know which symbol to implement.
Add a Symbol.iterator method and your object works with for…of, spread, destructuring and Array.from. Here is what the protocol actually asks for.
A WeakMap keyed by the instance keeps object state out of reach of the outside world, and lets the garbage collector clean up after itself.