12 ms·
ECMAScript 2015 Approved
- crncosta 11y agoThey are providing a official HTML version, alongside the PDF version. http://www.ecma-international.org/ecma-262/6.0/index.html http://www.ecma-international.org/ecma-262/6.0/index.html
- jtempleton 11y agoFYI, ECMAScript 2015 is also known as ES6.
- bsimpson 11y agoAnd JavaScript Harmony
- empyrical 11y agoBecause of their switch to use a year instead of a version number, do they plan on doing these ES enhancements more often?
- _greim_ 11y agoI think that's the plan. Whatever the committee can agree on and ratify by December 2016 will be dubbed "ES 2016" and so on.
- LittleDan 11y agoThe plan is to keep releasing them mid-year.
- jmcgough 11y agoYes. Because of how rapidly Javascript is moving, they want it to be more modular in its releases instead of waiting multiple years in between.
- pluma 11y agoIt's a bit like WHAT WG's change of HTML5 to HTML (the "living standard"), but less drastic.
- mcv 11y agoYes, though as I understand, none of the later ones should be as big as ES6/2015. You can't accumulate that many changes in a single year.
- rememberlenny 11y agoCan someone explain what this means for the browser ecosystem? What are the next steps to integration?
- notNow 11y agoIt's underway already. Check out Kangax's amazing work here [0] [0] ES6 COMPAT TABLE: https://kangax.github.io/compat-table/es6/ https://kangax.github.io/compat-table/es6/
- bobajeff 11y agoI think it means we can now pine over EcmaScript 7.
- mrspeaker 11y agoDon't pine, just use Babel ;) http://kangax.github.io/compat-table/es7/ http://kangax.github.io/compat-table/es7/
- _greim_ 11y agoDepending on the browser, lots of things are already implemented, either generally available (e.g. `Promise`) or behind flags (e.g. fat arrows). This announcement just accelerates the adoption pipeline by reducing worry about spec changes.
- sirsuki 11y agoIt's about fricken time! Talk about procrastination! Now I have to wait for browsers to get off their little snowflake asses and update. Oh wait then there is all those paranoids who use WinXP with IE8. Damn it, I'll be dead by the time this stuff is available universally.
- andresmanz 11y agoOne of the reasons why I'll go with Dart or TypeScript or whatever anyway. ;)
- tlrobinson 11y agoOr just use a transpiler.
- killface 11y agoAt some point, you just need to stop caring about those people. I know some of you can't professionally, but personally, there's no need to even pretend to support IE <= 11. If they want to run an old os and old browser, they don't get to use my service. No sweat off my balls.
- trose 11y agoThat changes a lot if your target market is big enterprise customers. Oh you don't support IE9? Well say goodbye to that market share.
- bryanlarsen 11y agoYou just need to find a tent-pole feature and a reason to use it. For example: "This browser requires WebGL" -> IE11 and up.
- david-given 11y agoFinding actual numbers seems to be harder than it should be, but this page: https://www.netmarketshare.com/browser-market-share.aspx?qprid=2&qpcustomd=0 https://www.netmarketshare.com/browser-market-share.aspx?qpr... ...suggests that IE 8, 9 and 10 combined have about ~28% market share. Of course, I don't know what they're measuring --- somewhere like github is going to see a very different balance of browsers than, say, Amazon --- but that's a hell of a lot, roughly equal to the IE 11 market share. I'd say that's way too much to dismiss out of hand. Edit: I've since found this: https://en.wikipedia.org/wiki/Usage_share_of_web_browsers#Summary_tables https://en.wikipedia.org/wiki/Usage_share_of_web_browsers#Su... That suggestions that netmarketshare are consistently measuring IE high --- other people show IE at about half that, and Chrome at about double what netmarketshare do. Which, of course, makes it even more important to find out who your audience are before giving up support for old browsers.
- brndn 11y agoWhat does it mean for a spec to be approved? Is it like a peer-review?
- jmcgough 11y agoYes - TC39 is responsible for updating the standard (http://www.ecma-international.org/memento/TC39.htm http://www.ecma-international.org/memento/TC39.htm), meaning that they all voted to approve the current draft ES2015. You can see several years of the drafts here http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts http://wiki.ecmascript.org/doku.php?id=harmony:specification...
- WalterGR 11y agoAnd TC = Technical Committee.
- LittleDan 11y agoWhat approval means here is that it was ratified by the ECMA General Assembly. The move by TC-39 to send ECMAScript 2015 to the GA was voted on at the last TC-39 meeting around a month ago.
- muraiki 11y agoSorry, I accidentally downvoted you with a misclick :(
- harperlee 11y agoWhen will be able to undownvote?
- fnordfnordfnord 11y agoI loaned you one of mine.
- possibilistic 11y agoI do this rather frequently by mistake. I, like you, try to point out my error so the OP doesn't wonder why they are being downvoted. Another problem is that I often upvote articles by scrolling on my phone. In addition to providing false signal, this has the unfortunate side effect of polluting my "saved stories". I wish there was a mechanic to change votes after submission (even if the ability to change your vote was only momentary). Do pg, et al. accept PRs?
- wallzz 11y agoCan someone make a resumé ?
- espadrine 11y agoI made a very succinct summary here: http://espadrine.github.io/New-In-A-Spec/es2015/ http://espadrine.github.io/New-In-A-Spec/es2015/ There is also this, slightly more in-depth: git.io/es6features
- fintler 11y agoIf you've been focusing on another language for a few years, you might not recognize JavaScript anymore. It's pretty awesome now. Here's an example of what it looks like: http://pastebin.com/raw.php?i=yEB4mrty http://pastebin.com/raw.php?i=yEB4mrty As someone who usually works with C, Scala, and Java -- I'm currently working on a small app built on ec6/7 babel, npm, jspm, system.js, aurelia, gulp, etc. It's been a great experience so far.
- serve_yay 11y agoYikes! Don't blame ES6 for this mess :P
- Strilanc 11y agoNit: single line lambdas can be written like `a => a + 1` instead of `a => { return a + 1 }`. Cuts the amount of bracket nesting.
- gravity13 11y agoAfter working with es6 for a bit (with babel), I still think I prefer CoffeeScript mostly because it's annoying to ensure brackets/parenthesis are closed properly.
- cnp 11y agoIts funny, I used to really enjoy CoffeeScript but since Babel / ES6 has come out I can't stand it anymore! ES6 has just the right amount of syntax, with lots of optionals too (semicolons, no brackets when writing function expressions, etc).
- notNow 11y agoI compile JS files to CoffeeScript now only for the readability boost when I need to understand the code very quickly without all those parentheses or brackets getting in my way.
- _greim_ 11y agoIs "@inject(HttpClient)" ES6 too? I don't recognize it but I haven't memorized all the new capabilities yet.
- brianzelip 11y agooh brother does their (`<table>` based) web layout need an update!
- totony 11y agoI do a lot of web design and you often have to use table for compatibility reasons or straight up no other way is supported (vertical alignment or same height for example, even if flexbox does it now IE 8 doesn't support it)
- dandelany 11y agoThese days you can use CSS 'display: table;' if you still need the table layout engine and don't want to use a non-semantic table tag. It's supported in ie 8+. If you're still supporting ie7... well, I feel bad for you :)
- LittleDan 11y agoES2016 is proposed to be based on Ecmarkup, a more modern system which will let us collaborate on Github more easily, rather than a canonical MS Word document on the editor's computer.
- cel1ne 11y agoThis is a good overview in my opinion: https://babeljs.io/docs/learn-es2015/ https://babeljs.io/docs/learn-es2015/
- lewisl9029 11y agoFor anyone interested in using ES2015/ES6 in production, I'd highly recommend checking out jspm and SystemJS. It handles all the transpilation work for you (at runtime for development, or during a manual build/bundling for production) using either Babel, Traceur or Typescript, and allows you to seamlessly use ES6 everywhere in your code and even load third party code on Github and NPM as ES6 modules. https://github.com/jspm/jspm-cli https://github.com/jspm/jspm-cli https://github.com/systemjs/systemjs https://github.com/systemjs/systemjs EDIT: Some more info copied from another post: SystemJS (jspm's module loader) has the following main advantages compared to competing module loaders: - Able to load any type of module as any other type of module (global, CommonJS, AMD, ES6) - Can handle transpilation and module loading at runtime without requiring a manual build step However, jspm itself is primarily a package manager. Its main advantages over existing package management solutions include: - Tight integration with the SystemJS module loader for ES6 usage - Maintains a flat dependency hierarchy with deduplication - Ability to override package.json configuration for any dependency - Allows loading of packages from just about any source (local git repos, Github, NPM) as any module format
- jmcatani 11y agoI am struggling to find the difference between jspm and npm + webpack or npm + grunt/gulp + browserify. Is it just conventions around ES6?
- MagicWishMonkey 11y agoHow long before we see widespread browser support?
- allannienhuis 11y agoWith transpilers like Babel you can fantastic browser support today.
- grrowl 11y agoOddly, it would be silly to transpile to ES5 forever. By the time ES6 support is widespread, we'll be transpiling from ES8, and so on.
- allannienhuis 11y agoyes, but I expect that between feature checking and target platform configuration in the transpilers, virtually all of that will be transparent for the dev.
- Stephn_R 11y agoToday marks an important day for us all :)
- markthethomas 11y agobut...whatever happened to es6? ;)
- robocat 11y agoSupport for Octal numbers is insane (especially since uppercase O is supported as well as lower case o) e.g. 0O7. Add a feature that will need linting... wow. Overall happy with many of the improvements (e.g. standard syntax for modules and classes).
- mahmud 11y agoAnd still no EBCDIC! :-/ /s
- hoodoof 11y agoAt last JavaScript is enjoyable and doesn't completely suck.