See harmony for requirements, goals, and means informing and guiding the proposals under development for ES-Harmony.

Lacking a formal language specification, the following list is not definitive, but it should reflect consensus achieved so far in TC39. Anything can be revisited for a good reason, of course.

The following list will grow, but not without bound before the next ECMA-262 Edition is constructed. Without prematurely triaging or using “ES6” (which might have to be used for a short-term edition, worst-case), for now let’s focus on near-term proposals while keeping important longer-term strawman proposals warm.

Brendan Eich 2009/07/29 23:51

Most of the proposal on this page have already been incorporated into the ECMAScript 6 specification drafts. In general, once a proposal is incorporated into the draft specification, the latest draft takes precedence over the proposal. However, at any point in time, the integration of some proposal may still be incomplete and both proposal and the specification drafts may contain errors. If in doubt about the status of any proposal or the draft specification, post a question to es-discuss. Remember, everything is subject to change up until the point that the final draft is approved by the Ecma General Assembly.

Allen Wirfs-Brock 2013/01/19 19:56

TC39 Process that applies for the features from ES7 forward is described here:TC39 Process

Dmitry Lomov 2014/01/30 11:47


  • Scoping, Binding, and Calling
      • let, the new var but block-scoped and with better use-before-set semantics (dherman,markm)
      • const, for constant let-like bindings (dherman,markm)
      • block functions, let-scoped functions declared directly in block statements (markm)
    • destructuring assignment and binding declaration forms, based on object and array initialiser syntax (allen)
    • parameter default values, supplying default arguments to trailing optional parameters (allen)
    • rest parameters, for a trailing formal parameter capturing variable actual arguments as an array (allen)
    • spread, the ... prefix operator for expanding an array actual parameter into its elements (allen)
  • pragmas, a future-proof “use” directive for language modes and implementation options (dherman)
  • Runtime-incompatible semantic bug fixes (there can be only a very short list; JSLint and better program analysis help wanted):
    • completion reform, to make “completion position” a statically predictable attribute (dherman)
    • typeof null, a long-awaited bug fix to typeof (brendan crock) Cancelled due to too much breakage.
  • observe, Object.observe provides a way to observe changes to an objects properties. (post ES6)
harmony/proposals.txt · Last modified: 2014/01/30 19:48 by dslomov
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki