Modern JS
ES2020+2020 – todayYearly, incremental releases. Small operators that erase enormous amounts of defensive boilerplate, plus top-level await for module-scope asynchrony.
`?.` short-circuits on null/undefined only, and `??` falls back on null/undefined only — unlike `||`, which also swallows 0 and "".
const config = { retries: 0, server: { host: "localhost" } };
console.log(config.server?.port?.toFixed?.(0)); // undefined, no throw
console.log(config.retries || 3); // 3 — wrong, 0 is valid
console.log(config.retries ?? 3); // 0 — correct
console.log(config.missing?.deeply?.nested ?? "fallback");