Proposal: Object dotstructuring

Simo Costa andrysimo1997 at
Sun Dec 16 18:55:59 UTC 2018

This proposal is also known as: Pick Notation, Extended Object
Destructuring, Extended Dot Notation.
Inspired by Bob Myers' proposal released under MIT License.

This is a proposal to allow read and write operations on multiple objects'
properties (symbols included), leveraging object destructuring syntax to
support renaming and defaults. The suggested syntax would enable quick
objects creation from existing objects, to create subsets, and quick
properties merging/replacing.
Simple example:
const source = {prop1: 42, prop2: 'foo', [Symbol.iterator]: .. };

const newObject = source.{prop1, [Symbol.iterator]};
newObject; // {prop1: 42,  [Symbol.iterator]: .. };

source; // {prop1: 42, prop2: 'foo', [Symbol.iterator]: .. };

I'm not going to explain here all the details about this proposal. You can
find them on GitHub following this link where the proposal
is widely discussed. There you will find all the nitty gritty details, with
a suggestion for the transpilations.


Currently JavaScript syntax does not let us to pick one or more properties
from an object to create a new one nor let us to merge only some chosen
properties from an object to another. Object dotstructuring could be useful
to easily create objects subsets and to merge/clone/replace chosen
properties from an object to another.
You can find more info on GitHub.

The involvement of a TC39 champion would be really appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list