On 1/13/15 12:06 PM, Gabor Krizsanits wrote:
I think this part of the spec was largely written before ES6 class stuff
stabilized, fwiw. Which is not hard, since it's still not stabilized. ;)
Isn't there a chance to consider our use-case in ES6 spec. then?
I suspect not in time for ES6. The "not stabilized" bit here is
supposed to be rectified on a timeframe of hours-to-days.
(+ internally I'm sure most engines does transformations in some cases
already, like for array optimisations...)
The feedback from the V8/Blink folks was that they are in fact unable to
do such a transformation for DOM objects. That's one of the things that
led to the re-coupling of allocation and initialization in ES6.
A more limited class transformation that doesn't involve changing the
set of internal slots might be easier to do. But if you have to change
internal slots, things get complicated.
-Boris