Resources ECMAscript

This page discusses ECMAscript and its JavaScript and JScript implementations.

ECMAscript & Its Implementations

ECMAscript is a trademarked scripting language specifica­tion standardized by ECMA International. The various ver­sions of JavaScript are implementations of ECMAscript created by the various browser makers, and the various versions of JScript are implementations of ECMAscript created by Microsoft. This site loosely uses the word ‘Java­Script’ to refer to any imple­mentation of ECMAscript.

The formal specification for Java­Script is ECMA-262. Free ver­sions are online: ECMA​script 6 (2015) ECMA​script 7 (2016) ECMA​script 8 (2017) ECMA​script 9 (2018). ECMA​script 10 (2019).

It is important to note that no version of JavaScript is a com­plete implementation of any version of ECMAscript: each brow­ser maker’s implementation lacks elements of the ECMASCript standards, and each imple­mentation offers fea­tures not in any ECMAscript standard.

See Also: [1] Wikipedia’s ECMAscript article discusses the various versions of ECMAscript, JavaScript, and JScript, and their support by the various browsers; [2] ECMAscript 2019 Language Specification is the specification for the latest version of ECMAscript, the 10th edition, published in 2019; [3] ECMAScript 2019 (10th Edition) Internationalization API Specification is the specification for the lastest version of the ECMAscript Internationalization API; [4] Exploring ES2016 and ES2017 is an eBook which details changes to ECMA­script introduced in 2016 and 2017, the 7th and 8th editions.

The Document Object Model

The Document Object Model — commonly referred to as the ‘DOM’ — is an application programming interface which treats an HTML, xHTML, or XML document as a tree structure which JavaScript can query and modify to produce inter­active web documents. Standardization of the DOM is less formal than the standardization of the DOM, but they are similar inasmuch as each browser supports different ways for JavaScript to interact with its DOM.

The various versions of the DOM, and their support by the various browsers, is discussed in detail in Wikipedia’s Document Object Model article.

Using JavaScript in Websites

Because each browser implements a different version of JavaScript, you must be very cautious when using JavaScript in websites. You must be aware that newer browsers will implement features of newer versions of ECMAscript, and that each browser will implement somewhat different fea­tures than other browsers. It most cases it is only feasible to use the basic core of JavaScript, and you may have to use various programming techniques — e.g. browser sniffing and object detection — to ensure that your code will be compa­tible with the various browsers.

Because each browser supports a somewhat different ver­sion of the DOM, you must be doubly aware that newer browsers will im­plement features of newer versions of the DOM, and again you must use various programming tech­niques to ensure that your code will be compatible with the various browsers.

For example, this site uses JavaScript extensively: but most pages use only very basic features of JavaScript and the DOM; a few pages use more advanced features — chiefly features to use canvases — which should be okay because this site is mainly used by website designers, who are more likely to use the modern browsers which support these features.

There are two more issues of which you should be aware:

 Top of Page         Legal Notices