What is ECMAScript?
ECMAScript Is Not Tied To Web Browsers
ECMAScript is a cross-platform, general-purpose scripting language and is not tied to web browsers alone. ECMA-262 defines the standards based on which more-robust scripting language may be built. ECMA-262 defines the following parts of the language and does not refer to web browsers at all
- Reserved Words
- Global Objects
So what does ECMAScript conformance means? When would a programming language be considered as conforming to the ECMAScript based on the standards laid down in ECMA-262? You can see the latest ECMAScript Specification but an implementation's conformance boils down to the following:
- An implementation should support all the parts of the language as mentioned in the standard and highlighted above.
- Support the Unicode character standard
- A conforming implementation may add additional types, objects, functions, etc which are not specified in the specification document.
- Extend the built-in regular expression support.
There is a test suite for ECMA-262 available on GitHub and used for testing the conformance to the standards.
- Google Chrome - V8 Engine
- Firefox - Spidermonkey
- Microsoft Edge - Chakra, now uses V8 Engine as well
In a nutshell, a browser's runtime might have the following basic implementations which are useful for creating web applications:
- Document Object Model (DOM) - This is what the browser renders as a hierarchy of nodes to be displayed to the client or the user for XML and HTML.
- Browser Object Model (BOM) - This is what allows the developers to manipulate the browser window. Using the BOM the developers can access the browser features and manipulate them outside the context of the DOM or the page that is being rendered.
On the other hand, a NodeJs runtime would have implementations that are useful for developing server-side applications. It contains the following implementations as an example:
ES6, ES2015, or ES Harmony. What Do They Mean?
It's the sixth edition of ECMA-262 which was released in the year 2015 which is known as ES6, ES2015, and ES Harmony. Essentially all these terms refer to the same edition of ECMA-262. Consequently, ECMA has been publishing a new edition of specifications every year so the 7th edition came out in the year 2016 and so on.
So Do Browsers Support Latest Standards Quickly?
What Can You Do Next 🙏😊
If you liked the article, consider subscribing to Cloudaffle, my YouTube Channel, where I keep posting in-depth tutorials and all edutainment stuff for ssoftware developers.