Javascript is a backward-compatible language. This means that code written in older versions of JavaScript will typically work in newer versions and modern browsers.
for example - the var keyword which was the primary way of declaring variables in JavaScript before the introduction of the let and const keywords, was introduced in javascript before ES2015 and today this older feature of javascript is still supported and functional in modern browsers.
Javascript is not a forward-compatible language. This means that code written in newer versions of JavaScript will not work in the older versions of browsers.
for example - String template (will talk about it later) introduced in ES6 (ES2015), might not work in older browsers.
But we don't have to worry about it, thanks to tools like Babel ๐, which helps us to transpile modern JavaScript (ES2015 and later) into older versions (like ES5) so that the code can run in older browsers as well.