DEV Community

Cover image for [New Feature] JavaScript Nullish coalescing operator (??)

[New Feature] JavaScript Nullish coalescing operator (??)

adeleyeayodeji profile image Adeleye Ayodeji ・1 min read

const foo = null ?? 'default string';
// expected output: "default string"
const baz = 0 ?? 42;
// expected output: 0
The nullish coalescing operator (??) is a logical operator that returns its right-hand side operand when its left-hand side operand is null or undefined, and otherwise returns its left-hand side operand.
This can be contrasted with the logical OR (||) operator, which returns the right-hand side operand if the left operand is any falsy value, not only null or undefined. In other words, if you use || to provide some default value to another variable foo, you may encounter unexpected behaviors if you consider some falsy values as usable (e.g., '' or 0). See below for more examples.
The nullish coalescing operator has the fifth-lowest operator precedence, directly lower than || and directly higher than the conditional (ternary) operator.




Discussion (0)

Forem Open with the Forem app