JavaScript - Exponentiation (**) & Nullish (??)
Overview
Estimated time: 10–20 minutes
Use ** for exponentiation and ?? to default only when a value is null or undefined.
Learning Objectives
- Replace
Math.pow(a,b)witha ** b. - Pick defaults with
??without treating 0/"" as missing.
Prerequisites
Examples
2 ** 3 // 8
Math.pow(2,3) // 8 (older style)
const opts = { retries: 0 };
const retries = opts.retries ?? 3; // 0 (keeps 0)
const fallback = opts.retries || 3; // 3 (treats 0 as falsy)
Common Pitfalls
- Confusing
??with||:||treats many values as falsy.