Trailing commas in arguments list, imports and destructuring

Michael Ficarra mficarra at shapesecurity.com
Thu Apr 23 15:45:51 UTC 2015


See https://github.com/tc39/ecma262. This proposal is currently at stage
one. To find out more about what that means, read the process document
<https://docs.google.com/document/d/1QbEE0BsO4lvl7NFTn5WXWeiEIBfaVUF7Dk0hpPpPDzU>
.

On Wed, Apr 22, 2015 at 8:15 AM, Jussi Kalliokoski <
jussi.kalliokoski at gmail.com> wrote:

> I just noticed that Babel support trailing commas in function arguments
> lists, imports and destructuring as well:
>
>
> http://babeljs.io/repl/#?experimental=true&evaluate=true&loose=false&spec=false&code=import%20%7B%0A%20%20voo%2C%0A%20%20doo%2C%0A%7D%20from%20%22.%2Fdat.js%22%3B%0A%0Alet%20%7B%0A%20%20x%2C%0A%20%20y%2C%0A%7D%20%3D%20voo%3B%0A%0Alet%20%5B%0A%20%20z%2C%0A%20%20m%2C%0A%5D%20%3D%20doo%3B%0A%0Afunction%20qoo%20(%0A%20%20x%2C%0A%20%20y%2C%0A)%20%7B%7D
>
> Is this correct behavior? I'm not
>
> FWIW as I already use trailing commas object and array literals for better
> diffs, I really like this feature as it comes in handy especially in
> function signatures where you define types (TypeScript/flow style
> annotations), for example:
>
> function sort <T> (
>     array : Array<T>,
>     compareFn : ((left: T, right: T) => number),
> ) : Array<T> {
>     ...
> }
>
> as well as import statements for modules that declare constants:
>
> import {
>     BRAND_COLOR,
>     DEFAULT_TEXT_COLOR,
>     DARK_GRAY,
>     LIGHT_GRAY,
> } from "./constants/COLORS";
>
> not to mention "options object" style function signatures:
>
> class Person {
>     constructor ({
>         firstName,
>         lastName,
>         birthDate,
>         country,
>         city,
>         zipCode,
>     }) {
>         this.firstName = firstName;
>         this.lastName = lastName;
>         this.birthDate = birthDate;
>         this.country = country;
>         this.city = city;
>         this.zipCode = zipCode;
>     }
> }
>
> To me, the spec language as per Jason's HTML version looks like at least
> for destructuring this is supported, but at least I can't read the spec to
> allow trailing commas in function signatures. At least this doesn't seem to
> be incorporated into the spec:
>
> https://esdiscuss.org/notes/2014-09/trailing_comma_proposal.pdf
>
> Is the proposal still on track for ES7 and am I correct in my reading of
> the destructuring allowing trailing commas?
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>


-- 
Shape Security is hiring outstanding individuals. Check us out at
*https://shapesecurity.com/jobs/
<https://shapesecurity.com/jobs/>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150423/e8488fdb/attachment-0001.html>


More information about the es-discuss mailing list