I translated a whole project from ES5 to ES6 and the experience was glorious for two main reasons:
But.... on the other side about use ES6 is that now the project has a lot of dependencies that I wasn't using before, and in the end I Just was using Arrow Functions from the new syntax (of course, I used clases, weakmaps, and a bunch of others, but the arrows are everywhere)
My recommendation is to use it only if you're sure you are needing all the features that ES6 brings with it, cause you'll have to change your code style, and your build process in order to compile and serve the files.
Darlan Alves
Some people Carpe Diem, others Hakuna Matata. I, for one, Javascript.
I've been using for a while and, as Misael pointed out here, the code becomes much cleaner when you follow some guidelines.
For example, I changed my AngularJS mindset and went from ES5 with Module Reveal pattern to components-only app with classes and full ES6 syntax. The build process changed completely, and besides the gazillion Babel packages required, the final result is nice.
For now I'm using Browserify, but I'm trying to move everything to Rollup to have smaller builds. This is another "feature" only possible with the module syntax of ES6.
Documentation is easier using esdoc, build tasks are simple with the help of gulp, build-on-the-fly while coding is there with watchify, less build steps are necessary (e.g. process HTML templates) with the help of Browserify plugins that allow to
require()everything you need.The setup is not easy, though. I've spent days figuring out all the stuff I needed. I put all the effort into a generator that I use now to start new projects, using a slush script.
TL;DR
Use it if you know well the ES2015 syntax and resources. I think you will like. If you are on a team and the others don't know well ES2015, then don't. The project will become a mess. And the most important thing: have a styleguide. Make sure your projects have the same patterns and coding styles everywhere. Code rots faster than you think.