<div dir="ltr"><div>Similar proposals have been out there for years. For whatever reason, none have gotten traction.</div><div><br></div><div>Under one proposal, your scenario would be</div><div><br></div><div>```</div><div>const obj ={...user_profile.{firstName, lastName}, otherData: 'other data'};</div><div>```</div><div><br></div><div><a href="https://github.com/rtm/js-pick-notation" target="_blank">https://github.com/rtm/js-pick-notation</a></div><div><br></div><div>Bob</div><div><br></div><div>---------- Forwarded message ----------</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">From: "Григорий Карелин" <<a href="mailto:grundiss@gmail.com" target="_blank">grundiss@gmail.com</a>><br>To: <a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>Cc: <br>Bcc: <br>Date: Sun, 26 May 2019 16:39:58 +0300<br>Subject: Proposal: syntactic sugar for extracting fields from objects<br><div dir="ltr">Wouldn't it be nice to have syntax like this:<br><span style="background-color:rgb(204,204,204)">const obj = { {firstName, lastName from user.profile}, otherData: 'other data'  };</span><br>as a syntactic sugar for<br><span style="background-color:rgb(204,204,204)">const obj = {firstName: user.profile.firstName, lastName: user.profile.lastName, otherData: 'other data'};</span><br><br>Of cause at the moment we can write it in two steps:<br><span style="background-color:rgb(204,204,204)">const {fistName, lastName} = userProfile;<br>const obj = {firstName, lastName, otherData: 'other data'}<br></span><br>But why use extra variables?<br><br>Motivating example is lodash's .pick() method: <a href="https://lodash.com/docs/#pick" target="_blank">https://lodash.com/docs/#pick</a></div>
</blockquote></div></div>