New ES6 spec draft (Rev 22, Jan 20, 2014)

Allen Wirfs-Brock allen at
Mon Jan 20 19:42:05 PST 2014

The draft is available at 

Big news: Promise and Module Loading/Linking.  Still a few loose ends, but we're getting there.

 Changes include:

Module loading/linking semantics
Internal Tasks
Realm Objects
Loader Objects
updated with binding for unscopable names as discussed at Sept 2013 meeting
An unscopables object is now an ordinary object whose own property keys are the unscopable names.
Fixed sticky mode bugs in RegExpExec
Provided algorithm for RegExp.prototype.replace and updated other RegExp methods
Fixed RegExp matcher algoritm to normalize results of Unicode mode matches back to UTF-16
Grammar parameter tweaks related to use of yield in generator parameters.
Simplified eval/arguments restrictions. They never are applied in non-strict code
Added tail call detection for arrow functions with expression bodies
clarified unicode escaping in IdentifierNames and keywords
The default class constructor definition is now “constructor(...args) {return super (...args);)” if one is not explicitly provided (adding explicit “return” is the change)
Fixed Invoke abstract operation to correctly handle invokes on primitive values. Implementations of built-ins that are * specified using Invoke should make sure they work correctly in cases where Invoke might be validly applied to a primitive
Function.prototype.toMethod, replaces RebindSuper abstraction operation with CloneMethod
Eliminated comparator optional argument to Map and Set constructor
Removed vague overflow/underflow requirements from Math.Hypoth
Creating a Proxy requires use of new.
No line terminator allow before the * in yield *.
extends clause of a class declaration is now a LeftHandSideExpression
Completely redo of object invariants section.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list