operators typescript code example

Example: ?? Operator in TypeScript

"Nullish Coalescing"

If the left operand is null or undefined, 
the ?? expression evaluates to the right operand:

null ?? "n/a"
// "n/a"

undefined ?? "n/a"
// "n/a"

Otherwise, the ?? expression evaluates to the left operand:

false ?? true
// false

0 ?? 100
// 0

"" ?? "n/a"
// ""

NaN ?? 0
// NaN

Notice that all left operands above are falsy values.
If we had used the || operator instead of the ?? operator, 
all of these expressions would've evaluated to their 
respective right operands:

false || true
// true

0 || 100
// 100

"" || "n/a"
// "n/a"

NaN || 0
// 0