ES6 has brought a lot of sweet iterative improvements to web development in general. Quick rundown of features: http://es6-features.org
Those that work on chrome:// pages (i.e. browser UIs implemented with web technologies) can't quite use all of these sweet new features (even though their UIs generally Chrome-only, which has top notch support) because of our antiquated tooling support.
Some examples of tools that need to be audited, changed, or removed that currently look through our source code:
* closure compiler
* closure linter
In addition to developer ergonomics, some chrome:// pages use Polymer (https://polymer-project.org) which we make faster with these additional tools:
* vulcanize
* polymer analyzer (aka hydrolysis)
* uglify
* crisper
In the future, Polymer 2 and Shadow DOM v1 require ES6 classes to create custom elements (see customElements.define()[1]). And though it's probably possible to make an ES5 class into an ES6 class via Reflect.*, I don't think this is particularly great solution long term.
Shadow DOM v0 (which various chrome:// pages and Polymer 1 rely upon heavily) has been requested to be deprecated and removed eventually from blink[2]. We should start looking into ES6 sooner rather than later.
[1] https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry/define
[2] https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/txIN7qDRFpU
Comment 1 by bugdroid1@chromium.org
, Dec 6 2016