On 17.11.2011 11:24, David Herman wrote:
Someone who shall remain nameless shot this down when I floated it privately.
But I just have to throw this out there, because I kind of can't stop myself
falling in love with it...
We used to have this (mis-)feature for dynamically extending scope chains, and despite
being ill-conceived, it did have this elegant syntax spelled "with." In ES5
strict, we banned that feature, and it's not coming back for ES6, or ever.
Now we want a (good) feature for dynamically extending prototype chains. And
here's this old keyword, just lying around unused...
obj with { foo: 12 } with { bar: 13 } with { baz: 17 }
So? Who's with me?
Yeah-yeah, the idea is still the same and is discussed here. Just
keyword changes. `with' just sounds fine in this case (when I was
proposing declarative form of: `let foo extends bar with { ... }' -- I
also wanted to use it, but thought that it will be too verbose to use
two keywords, though...).
However, we nevertheless had/have the semantics for `with', and it may
cause confusion. Moreover, you need to specify that [noNewLineHere]
should be inserted, in other case its:
obj;
with ( ...) { label: 12 }
I still think `extends' fits nice here. But would glad to have `with' if
we hadn't used already it before.
Dmitry.
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss