Deconstructing

Named function arguments

Deconstruction is even better when it comes to named functions, as in this example:

What bugs me about functions with many parameters is that if they are used in multiple contexts and if they have multiple optional parameters you almost always have the case that you have to do the following:

Arrow functions

This is one of the features, which are quite often talked about, but a simple example like this could show you the real benefits:

As you see it is much clearer which function is a real one with meaning (and own execution context opposed to arrow functions) and which is just an anonymous utility function. Also, you get rid of the .bind, which is always a big plus.

Conclusion

To me, these shortcuts are the most rewarding ones, as they clear up your code and ensure a great readability. It is clear, that if your code runs under extreme circumstances (tough loading times or hard execution time limits) you might run into problems using the bigger transpiled code. But IMHO in most cases you want to write quickly and extend the code so es2015 is a great choice to do so. Please bear in mind, that the more complex and possibly more rewarding not so everyday topics like generators, proxies and modules aren’t even covered, so this is just the tip of the iceberg.