Let's say I'm writing a NodeJS project with a language that compiles to JavaScript, like TypeScript for example. With TypeScript (or other things that use Babel) I have the option to compile my code to any version of JavaScript, be it ES3
, ES5
, ES6
, ES2017
, etc.
Obviously, if I was writing something client-side, I'd stick to an earlier version like ES5
to maintain compatibility for users. However, since I'm writing something server-side specifically for the latest version of NodeJS, I could use any of these options. What I want to know is, which version should I use to help provide the best performance?
NodeJS's interpreter, V8, provides different optimizations depending on how the source code is written, so I would imagine that selecting one or the other may result in different benefits. On the one hand, you would think that selecting an older version of JS would be better since its been around longer and has had more time to be optimized. On the other hand, compiling to later versions of JS results in significantly cleaner code and relies upon newer, available features, which may also help.
Any thoughts / feedback would be appreciated!
I do believe this question to be primarily opinion based, but.. I don't think a valid question should be ignored, just because there is a part that may be considered subjective. So while you should take this with a grain of salt (because ultimately, it is your application and your choice what version you use), I do hope this should nudge you in the right direction:
I personally am of belief, that you should compile to the latest ES version. Why?
First, let's go over the facts:
And now, this is more of a personal opinion, but I stand by it:
- I don't think we as developers should look back and use obsolete or downright non-functioning techniques and bash our heads against the wall. Instead of complaining about others not wanting to adapt, be part of the movement and make others adapt. I'm not saying your site should not be "fool-proof" for old browsers, quite the opposite, just don't get down to their level and limit yourself because of it. Go with the flow!
So to sum it up, unless you have a very particular reason, as to why you shouldn't use the latest version, then always use the latest version (LTS, not latest beta).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With