Fundamentals / Operators
Operators
Arithmetic, comparison, logical, and the newer safety operators.
Arithmetic operators (+, -, *, /, %, **) do math. Comparison operators (===, !==, <, >) test relationships — always prefer strict equality (===) over == to avoid type coercion surprises.
Two modern operators prevent whole classes of bugs: `??` (nullish coalescing) falls back only on null/undefined, unlike `||` which falls back on any falsy value. `?.` (optional chaining) short-circuits to undefined instead of throwing when a property along the chain doesn't exist.
Codeeditable — Run executes your edits
Loading...
Console
Output will appear here
Visualization
State
Step through — the console panel shows what's happening
Why?
?? checks specifically for null or undefined, so a legitimate 0 or empty string survives. || checks for any falsy value, so it overwrites 0 even when 0 was the intended value.