Many times developers use JavaScript and ECMAScript synonymously for each other. Though they are very closely linked to each other, it does not mean they are the same thing.
There is a complete story on the history of JavaScript and how it came into existence. To cut the long story short, ECMA in ECMAScript refers to Europen Computer Manufacturers Association to which JavaScript 1.1 was submitted for standardization back in the year 1997. A technical committee was created with the objective of standardizing the syntax and semantics of a general-purpose, cross-platform, and a vendor-neutral scripting language.
The committee consisted of developers from Sun Microsystems, Netscape Communication, Microsft, and various other companies. They came up with ECMA-262 which is a standard defining a new scripting language and a general-purpose scripting language called the ECMAScript to which all the browsers had to adhere to create their own implementations of JavaScript.
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
JavaScript just implements ECMAScript into a more mature and robust scripting language with various input and output methods which developers can in turn use to build various applications.
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:
There is a test suite for ECMA-262 available on GitHub and used for testing the conformance to the standards.
A JavaScript engine can be referred to as a program or an interpreter which reads your JavaScript code and converts it into a machine-understandable code. Each web browser runs on a different engine and the most common of them is Google’s V8 Engine which is open source and is implemented by NodeJs as well. Here are a few common examples of various browsers and the JavaScript engines that they use:
#javascript #understanding-javascript #javascript-development #reactjs #angular #nodejs #vuejs #web-development