Rev31 (January 15, 2015) of the ECMAScript 2015 Language Specification is ready 
for review at 
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#january_15_2015_draft_rev_31
 


Changes include: Updated specification to use and support the new built-in 
subclassing scheme described at: 
https://github.com/tc39/ecma262/blob/master/workingdocs/ES6-super-construct%3Dproposal.md

        • Added newTarget parameter to [[Construct]], Reflect.construct, and 
proxy ‘construct’ trap.
        • Added NewTarget binding to Function Environment Records and abstract 
operations/methods of setting and accessing that binding
        • Redefined [[Construct]] for ordinary ECMAScript functions so 
“derived” constructors don’t preallocate the new object and bind this.
        • Changed [[Construct]] for ordinary ECMAScript functions so “derived” 
constructors will throw if they try to explicitly return a non-object.
        • Within constructors this binding has TDZ access semantics.
        • super(...) syntactic form now illegal in 
Function/GeneratorDeclaration/Expression
        • super(...) and new super(...) propagates current NewTarget to 
[[Construct]] call
        • super(...) binds this value upon return from [[Construct]] call, 
throw if new already bound
        • Refactored [[Call]] and [[Construct]] for ordinary ECMAScript 
functions so they can continue to shared common spec steps.
        • Updated Generator object instantiation to work with new [[Construct]] 
design
        • Refactored Function constructor and GeneratorFunction to share a 
common abstract operation based definition
        • Every built-in constructor changed to merge object allocation and 
initialization code. In some cases (eg, TypedArray and Promise) significant 
refactoring of allocation and initialization logic.
        • Updated [[Construct]] of Bound functions to handle newTarget 
parameter.
        • Several of the above items are tentative because they still lack full 
TC39 discussion and review. The following are particularly tentative:
                • restrictions on where super(...) is allowed may change
                • new supper(...) might go away or change
                • Support for the new.target access syntax (yellow highlight in 
spec text) is speculative and may move to ES7 and/or change

Other changes

        • Merged AllocArrayBuffer and SetArrayBufferData into single abstract 
operation
        • %TypedArray%.of now requires that its this value is a valid Typed 
Array constructor
        • Replaced “moduleId” with “sourceCodeId” and eliminated most usage of 
such ids in module related abstract operations
        • Some tweaking of Language Overview in 4.2
        • A new document title
        • Resolved bugs: 3543-3527, 3524-3523, 3520, 3517-3516, 3514-3511, 
3501-3496, 3494-3479, 3310, 3229, 3136, 2865, 2536, 2495, 2179
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to