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.

What is ECMAScript?

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 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

  • Syntax
  • Types
  • Statements
  • Keywords
  • Reserved Words
  • Operators
  • Global Objects

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.

ECMAScript Conformance

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:

  1. An implementation should support all the parts of the language as mentioned in the standard and highlighted above.
  2. Support the Unicode character standard.
  3. A conforming implementation may add additional types, objects, functions, etc which are not specified in the specification document.
  4. 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.

The JavaScript Engine

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

What is ECMAScript and How is it Different From JavaScript?
2.20 GEEK