ES6 draft, Rev20 is now available

Allen Wirfs-Brock allen at
Tue Oct 29 09:50:54 PDT 2013

The HtML version isn't ready yet, but should be available soon.

Changes include:

Introduced grammar parameters and eliminated NoIn productions
Spread now requires an Iterable rather than an array-like
B.1.4, Web browser extensions to RegExp Pattern grammar and semantics
Updated RegExp to actually do sticky matching.
Updated RegExp to support “u” (unicode) patterns and matching.
Defined String @@iterator and String Iterator objects bug fixes in Object.mixin
Added support for revokable proxies
Added Proxy and Proxy.revokable factory functions
Removed the JSON grammar and replaced it with references to Ecma-404
Added requirement that Math.random functions in different code realms must produce difference sequences of numbers
Made Map, and Set built-in iterators so that once they return a result of completed they always return complete on subsequent calls to next.
Added Symbol.prototype[@@toPrimitive]
Added name property for functions created via function/generator/class declarations or binding initializers and assignment.
Defined the name property conventions for built-in functions.
Added normative reference to Ecma-404, removed normative reference to C standard.
Added normative reference to Ecma-402 and made Ecma-402 support a conformance requirement for ES implementation that provide an internationalization API.
Updated toLocale*String methods with reference Ecma-402
[[Construct]] for Proxy objects throw if no “construct” trap and target does not have a [[Construct]]
Changed terminology “ordinary function object” to “ECMAScript function object”
fixed ArrayBuffer(len) and %ArrayBuffer%(len) to throw RangeError on infinite length
make sure yield is usable as a statement label in non-strict code, except in generator functions.
consolidated in BindingIdentifier static semantic restrictions on strict mode declarations of eval and arguments
changed the way strict mode use of strict mode only reserved words are specified.
use parameterized grammar productions to restrict where return statements can appear
added grammar restrictions preventing an ExpressionStatement from stating as “let [”
terminology: “internal data property” is now “internal slot”
changed handling of non-object values in WeakMap as per bug 1938
Renamed abstract operation CreateOwnDataProperty to CreateDataProperty. Added CreateDataPropertyOrThrow abstract operation
Elaborated in 9.3 that built-in functions can be implemented as either ECMAScript functions or as implementation defined exotic functions.
Eliminated [[GlobalArray]] compatibility hack in slice and certain Array methods, replaced with a Realm check
fixed bugs: 2077-2072, 2069, 2067-2054, 2052-2050, 2048-2046, 2043, 2041-2040, 2037-2035, 2033, 2032, 2030-2028, 2026-2012, 2010-1941, 1938, 1909, 1903, 1900, 1870, 1869, 1863, 1858, 1855, 1854, 1852, 1804, 1660, 1619, 1358, 1287, 1274, 1268, 1250, 1226, 1116, 1113, 972, 872, 791, 749, 740, 625, 594, 528, 526-524, 498, 481, 428, 407, 364, 230, 206, 119

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

More information about the es-discuss mailing list