DEV Community

Cover image for JavaScript Terminologies
Zaid Rehman
Zaid Rehman

Posted on • Edited on

JavaScript Terminologies

ECMA International
European Computer Manufacturer's Association International is an industry association dedicated to the standardization of information and communication systems. It is working on standardisation of not only ECMAScript but also for many programming languages like C#(C sharp), Dart(used in Flutter), Eiffle, CLI etc

TC39
TC39 committee is responsible for evolving the ECMAScript programming language and authoring the specification. The committee operates by consensus and has the discretion to alter the specification as it sees fit.
TC39 is responsible do following work

  • Maintain and update the standard for the ECMAScript.
  • Identify, develop and maintain standards for libraries that extend the capabilities of ECMAScript.
  • Develop test suites that may be used to verify correct implementation of these standards.
  • Contribute selected standards to ISO/IEC JTC 1.
  • Evaluate and consider proposals for complementary or additional technologies.

ECMAScript
ECMAScript is a standard scripting language based completely on ECMA specifications. It in not in any way dependent to any environment on which the script is running.

JavaScript
JavaScript is ECMAScript with some additional features supported by respective environemnts to make it easier for developers to code and handle environment respective features elegantly. For example window and document keywords are not present in ECMA specs but are supported by all browsers. The case similar with process in Nodejs.

TC39 Process
It is a process which is responsible for evolving the ECMA specification from an Idea to a fully specified feature by taking inputs as a proposal from the community.

This process is built in five stages, starting with stage zero. Any proposal for a change in the specification goes through these stages without exception where the committee must approve the progress from one stage to the next one.
Complete process doc can be found here https://tc39.es/process-document/

Stage Purpose Implementation Type
0 Allow Input to the specification N/A
1 Case for Addition, shape of solution, potential challenges Polyfills
2 Precisely describe the syntax and semantics using formal spec language Experimental
3 Indicate that further refinement will require feedback from implementations and users Spec compliant
4 Indicate that the addition is ready for inclusion in the formal ECMAScript standard Shipping

Top comments (0)