<div dir="ltr">The bytes used for code can be reduced. Used redundancy in the original code to handle both cases at the actual examples at OP. ```JSON.stringify()``` and ```replace()``` could be used. The original proposal mentions ```JSON```, though includes the case of <div><br></div>```<div>const { y =? 'a' } = { y: undefined }; // z === 'a'</div><div>```<div>which is not valid ```JSON``` but a JavaScript plain object. The brief example handles ```JSON``` and/or JavaScript plain object input.</div><div><br></div><div>There would probably at least that amount of code to implement the extension to the ```=``` operator in JavaScript.</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 10, 2019 at 8:58 AM Oliver Dunk <<a href="mailto:oliver@oliverdunk.com">oliver@oliverdunk.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> Given input valid JSON JSON.parse() or JSON.stringify() replacer function can be utilized to substitute "undefined" for null.<br>
<br>
guest271314, that’s a lot of code! It feels like if anything, your example backs up the proposal.<br>
<br>
> `const { z =? 'a' } = { z: null };`<br>
<br>
I’m not sure I like the proposed syntax. The question mark indicates to me that it’s the value on the lhs that’s optional - when in reality, it’s the other way around.<br>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</blockquote></div>