Javascript related notes - wide view

From Helpful
Jump to: navigation, search
Related to web development, hosting, and such: (See also the webdev category)
jQuery: Introduction, some basics, examples · plugin notes · unsorted

Server stuff:

Dynamic server stuff:


ECMAscript, Javascript, JScript, etc.

Javascript and JScript are slightly different implementations of the ECMAscript standard. Each implementation has its own versioning, unrelated to ECMAscript versioning.

Even then, and particularly now, people use 'JavaScript' to refer to all of these.

These days, we tend to say JS in general, but ES when referring to a specific version's features. Habits and history...

The most standard form is the ECMA-262 standard, describing ECMAscript.

You could say that ECMAscript is the language, and Gecko's JavaScript, Microsoft's JScript, and various others are implementations of it. (Various of these names are also trademarked)

Since browsers have long been the most prominent users of javascript, each have a few non-ECMA additions and deviations, particularly around interfaces to other things -- like the DOM.

Things are better these days, but programmers may still want a library to make their life saner.

There are also some formalized extensions, for example:

  • TypeScript, a superset that adds annotated static typing
really a separate language, that is translated to standard JS. Seems intended as a "strongly typed on the server side, can also be served to browsers" thing
(as an indication how otherwise-similar it is: plain JS is also valid typescript)

  • CoffeeScript, JS-like with a bunch of syntactic sugar. Transcompiles to JS. [1]
  • JScript.NET, a compiled variant of JScript (and will tend to use .NET rather than COM/ActiveX)

...and more.

Versions (and versions in common browsers)

This article/section is a stub — probably a pile of half-sorted notes, is not well-checked so may have incorrect bits. (Feel free to ignore, fix, or tell me)

Let's forget ECMAscript before 3 (and JavaScript before 1.5), they were ancient even before hip-web standards.

ECMAscript is versioned like:

  • 3 (1999) - seems to be the first serious standard. (≈JavaScript 1.5)
fairly complete wide browser support since 2007ish
  • 4 - was a significant redesign of but never happened due to "oh noes might break many sites" worries.
  • 5 - in part a cleanup of 3
fairly compete wide browser support since 2015ish[2]
  • 6, later renamed ECMAScript 2015 (a.k.a. 6th Edition, a.k.a. ES6)
adds various new features - including a good part of the 4-that-never-happened (and e.g. types can be used via TypeScript)
fairly complete wide browser support since 2017ish[3]
  • ECMAScript 2016 (a.k.a. 7th Edition)
  • ECMAScript 2017 (a.k.a. 8th Edition)
  • ECMAScript 2018 (a.k.a. 9th Edition)
  • ECMAScript 2019 (a.k.a. 10th Edition)
  • ECMAScript 2020 (a.k.a. 11th Edition)
  • ECMAScript 2021 (a.k.a. 12th Edition)

See also: