new ES6 spec. draft now available

Allen Wirfs-Brock allen at wirfs-brock.com
Fri Aug 23 08:51:00 PDT 2013


http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#august_23_2013_draft 

Changes include:

Added Number.isSafeInteger
Added Number.MAX_SAFE_INTEGER
Removed: Number.MAX_INTEGER
Removed: Number.toInteger
Define all parts of a class definition to be strict code
‘length’ property of program defined functions have the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }.
Computed property names in object literals and class definitions can be strings or symbols
TypedArray objects are made non-extensible when they are allocated.
Added ToLength abstract operation. Generic Array methods use ToLength and are not limited to Uint32 lengths.
keys, and entries interators over Arrays and Typed Arrays return numbers for their key values.
Map/WeakMap constructor no longer explicitly looks for an ‘entires’ method on iterable arg. Always uses @@iterator.Throws if an iteration item is not an object.
Added with blacklist (@@unscopable) support to withStatement and Object Environment Records
Added Array.prototype[@@unscopable) with value [”find”, “findIndex”, “fill”, copyWithin”, “entries”, “keys”, “values”]
Destructuring to a object/array pattern throws if the value/default value is not an object
Destructuring throws if a corresponding source property does not exist and a default value is not provided
Eliminated NoIn alternative expression grammar because they are unnecessary after eliminating for-in binding initializer expression
Added Array.prototype.fill, Array.prototype.copyWithin, %TypedArray%.prototype.fill, %TypedArray%.prototype.copyWithin
Updated definition of Function.prototype.toString
Added Math.roundFloat32 (formerly aka Math.toFloat32)
Updated Array.prototype.splice to match web reality when called with 1 argument (see bug 429)
{[”__proto__“]: obj defines a data property named “proto” rather than setting the object’s [[Prototype]] internal data property
Using a computed property name in a strict mode object literal or class definition to define a property that already exists is a runtime error
Made DataView buffer, byteLength, byteOffset prototype accessor properties just like they are for Typed Array
Specified all %TypedArray%.prototype methods
Array.prototype.map, filter, slice, splice when used iwth array subclasses creates results arrays of the same subclass
foo.__proto__ = 1234, etc. and {__proto__: 123} no longer throws.
Resolved Bugs: 1800, 1796, 1794, 178-1783, 1779, 1777-1771, 1769, 1767-1763, 1761-1752, 1750-1735, 1733, 1731, 1729, 1727-1717, 1715, 1713-1705, 1703-1661, 1659-1634, 1632-1626, 1624, 1622-1620, 1618, 1616-1609, 1607, 1605-1602, 1599, 1596, 1594, 1592, 1590, 1588-1586, 1583-1581, 1579, 1575, 1560, 1464, 1257, 788, 733, 716, 701, 429, 224, 175, 146

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20130823/d52f8d37/attachment.html>


More information about the es-discuss mailing list