ES6 plans

From MozillaWiki
Jump to navigation Jump to search

Harmony infrastructure

  • New SM version number
  • Opt-in via type="text/ecmascript;version=6" or whatever - bug 694107
  • Per-script opt-in syntax ('use harmony;' or whatever)
  • Opt-in via HTTP header?
  • Whole-page opt-in via HTML feature?

Modules

harmony:modules

Modules are bug 568953.

  • module syntax, scoping semantics, module objects
  • import syntax
  • from "url" syntax
  • Hook up from "url" and async module loading to Gecko
  • Module loaders


New APIs that are in modules


New and improved builtin APIs

Most of this stuff does not need to touch a lot of code. Pretty good fodder for newbies.

New syntax (stuff that affects the front end and/or bytecode)


Updating SpiderMonkey extensions to Harmony

Direct proxies

There is a ton of verbiage here and it is still under active development.

Generators and comprehensions

let, const, and block functions

Block scoped bindings

  • Top-level let shouldn't be the same thing as var, per dherman: bug 589199
  • TC39 is specifying that reading a let-variable before it is initialized is an error, which will be a separate bug.
  • const - bug 611388
  • Block functions - bug 585536
  • Destructuring

Mistakes (unnecessary breaking changes that can't be detected statically)

Proposals that should not create any work for us