<div dir="ltr">Similarly to¬†<div><br></div><div>```js</div><div>const { x = 'a' } = {}; // z === 'a'</div><div>const { y = 'a' } = { y: undefined }; // z === 'a'<br></div><div>const { z = 'a' } = { z: null }; // z === null<br></div><div>```</div><div>I'd like to propose</div><div><br></div><div><div>```js</div><div><div>const { x =? 'a' } = {}; // z === 'a'</div><div>const { y =? 'a' } = { y: undefined }; // z === 'a'<br></div><div>const { z =? 'a' } = { z: null }; // z === 'a'</div></div><div>```</div></div><div>Which would handle also null values in default cases</div><div><br></div><div>This is because default destructuring introduced in ES6 doesn't handle null values, null values in JSON are quite common from APIs, it'd be convenient</div><div><br></div><div>It's also inspired by the null-coalescing operator¬†<a href="https://github.com/tc39/proposal-nullish-coalescing">https://github.com/tc39/proposal-nullish-coalescing</a></div></div>