ES6 Rev 30 now available

# Allen Wirfs-Brock (10 years ago)

Rev30, the December 24, 2014 draft specification for ECMAScript 6 is now available at: harmony:specification_drafts#december_24_2014_draft_rev_30

Change Summary

  • Made it a runtime error to try to create a subclass of a generator function via a class declaration or class expression.
  • Correct bugs in String.prototype.match/replace/search/split in the logic for double dispatching to a RegExp agument
  • Added language in 8.4 making it explicit that ES Jobs always run to completion
  • Class name is in TDZ during extends clause evaluation
  • Added static semantics that correctly validates statement label usage.
  • Array.prototype.concat/push/splice throw TypeError if new length would be 2^53 or greater. (Bug 3409)
  • Defined the Annex B (B.1.3) lexical grammar extensions for recognizing legacy HTML-like comments
  • Added a forbidden extension item that forbids supporting HTML-line comments within modules.
  • Additional early error for super() in non-constructor methods. (Already had an error for new super()).
  • Object.prototype.toString now uses IsArray to when testing for built-in exotic array instances.
  • IsArray abstract operation now longer throws if argument is a revoked proxy. It just returns false.
  • Simplified and corrected early error naming rules for module exports
  • Fixed several left-to-right evaluation order initialization bugs in various declaration forms
  • Resolved bugs: 3476-3445, 3443, 3441-3434, 3430-428, 3425-418, 3416-3411, 3409-3407, 3405-3404, 3396, 3306, 3284, 3269, 3264, 3230, 3214-3213, 2911, 2838, 2610, 2437, 1467, 1204, 935, 708, 631, 512, 509, 499, 170, 159