First, wringing code which is debuggable, and experience less perturbations will alone add to better code longevity, and maintainability.
I lost count to cases when old code is unsalvageable because the tooling combination used to "build" it simply refuses to work with modern nodejs, distro, or some other dependency.
There were very few vital features introduced since ES6, and some of them were in browser earlier than major ES releases. Browser APIs did change, but those have no bearing on the JS/ECMA language support
And the few remaining things are so hard to polyfil, and so hacky that I see myself no point in using them:
1. ES6 Proxy - possible to polyfill, but hacks involved are just terrible. Basically the only way to do it is to re-implement half of Javascript VM inside the your Javascript.
2. Async/await - possible to polyfil, but all polyfills are of extremely low performance, and high memory consumption. They send desktop PCs fans' spinning, and I don't want them.
3. Intl API - what's the point of using a system INTL functionality, if you yourself polyfill it? Just implement the string substitution in the code.
I lost count to cases when old code is unsalvageable because the tooling combination used to "build" it simply refuses to work with modern nodejs, distro, or some other dependency.
There were very few vital features introduced since ES6, and some of them were in browser earlier than major ES releases. Browser APIs did change, but those have no bearing on the JS/ECMA language support
And the few remaining things are so hard to polyfil, and so hacky that I see myself no point in using them:
1. ES6 Proxy - possible to polyfill, but hacks involved are just terrible. Basically the only way to do it is to re-implement half of Javascript VM inside the your Javascript.
2. Async/await - possible to polyfil, but all polyfills are of extremely low performance, and high memory consumption. They send desktop PCs fans' spinning, and I don't want them.
3. Intl API - what's the point of using a system INTL functionality, if you yourself polyfill it? Just implement the string substitution in the code.
And so on, and on