TL;DR - ES2020: Nullish Coalescing
MarkdownView HTML version
 The [nullish coalescing proposal](https://github.com/tc39/proposal-nullish-coalescing/) (`??`) adds a new short-circuiting operator meant to handle default values. The nullish coalescing operator (`??`) acts very similar to the `||` operator, except that we don’t use _"truthy"_ when evaluating the operator. Instead we use the definition of _"nullish"_, meaning "is the value strictly equal to null or undefined". So imagine the expression `lhs ?? rhs`: if `lhs` is not nullish, it evaluates to `lhs`. Otherwise, it evaluates to rhs. ```js false ?? true // => false 0 ?? 1 // => 0 '' ?? 'default' // => '' null ?? [] // => [] undefined ?? [] // => [] ``` # References - https://github.com/tc39/proposal-nullish-coalescing/ - https://v8.dev/features/nullish-coalescing