Resources ECMAscript

Error: JavaScript is needed to render this site: please enable it.

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:

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 2021 Language Specification is the specification for the latest version of ECMAscript, the 12th edition, published in 2021; [3] ECMAScript 2021 (12th Edition) Internationalization API Specification is the specification for the lastest version of the ECMAscript Internationalization APIs.

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’s only feasible to use the basic core of JavaScript, and you may have to use various programming techniques — e.g. brow­ser snif­ing 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