I&#x27;m all in on ES6 when it&#x27;s practical or allowed. Arrow functions are wonderful, I love destructuring assignment, const and let, and considering that some projects I work on involve a lot of async stuff, I&#x27;m close to just giving in and using ES7&#x27;s async&#x2F;await functionality.<p>But most of the time this is in the context of Node.js development, and in every case I use Babel.js to turn the end result into ES5 code.<p>I&#x27;m perfectly comfortable with using ES5, because as a freelancer&#x2F;contractor I often have to do so. But I really miss the ES6 stuff and the more I use it, the more time it takes me to &#x27;switch&#x27; to a mindset where I&#x27;m only allowed to use ES5 functionality.<p>Nonetheless, it strikes me as really odd to actively <i>prefer</i> ES5. Having worked with Ruby and Python (among others), ES5 feels limiting for no good reason. The only rationale I can think of for <i>prefering</i> ES5 is nostalgia.<p>Could you elaborate why you don&#x27;t like the &#x27;perl&#x2F;python&#x27; style changes? Because I truly do not understand why one would choose to limit oneself to things like .bind(this) instead of the different forms of arrow functions that make functional-like programming so much easier. And I&#x27;ve found that the best part of JS is that it&#x27;s decently functional.<p>Edit: I would agree when it comes to the new &#x27;class&#x27; keyword though. I&#x27;m not a fan of that.