Pebellslearn by building
0%
RoadmapsMatrixCoursesSandboxSign in
Introduction to JavaScript  ›  Lesson

History and Versions

History of JavaScript 12 minJavaScript was created in 1995 and is standardised as ECMAScript, which since ES2015 gets a new edition every year named after its year.

History and Versions

In short: JavaScript is the language; ECMAScript is its official rulebook, kept by a committee called TC39. Brendan Eich wrote the first version in days in 1995; Ecma International standardised it in 1997. The biggest update, ES6 / ES2015, added let, const, arrow functions, classes and more. Since then a smaller edition ships every year, named by year. Editions only add features — they never remove what came before, so old code keeps running in new engines.

A timeline: 1995 Brendan Eich writes it in days, 1997 Ecma standardises it as ECMAScript, 2009 ES5 adds strict mode and JSON, 2015 ES6/ES2015 the big one with let/const/arrows/classes, then 2016/2017/2018 one small edition every year, with the rule year = edition number + 2009

Naming a variable the old way and the new way

"JavaScript" is what everyone writes day to day; "ECMAScript" is what browsers and Node.js actually implement. var has worked since 1995 and still works today, alongside the const that arrived twenty years later in ES2015 — nothing broke when const was added:

javascript

Both lines run cleanly in any current engine. This is the "editions only add" rule in action: a 1995 keyword and a 2015 keyword sit side by side without conflict.

Converting an edition number to its year

Since ES2015 the numbered and year names line up by a fixed gap: year = edition number + 2009. So ES6 is ES2015, and ES8 is ES2017:

javascript
Which edition gave us const?Step 1 of 4
  1. Find the feature's edition

    const arrived in the big update, ES6.

Knowing the gap tells you what a browser from a given year should understand. A browser released well after 2015 accepts const and arrow functions; one from 2012 rejects them with a syntax error, because they simply did not exist yet.

The trap: thinking an edition replaces the last one

New editions only add. They never delete a feature or force old code to change. That is why a codebase can mix var from 1995 with const from 2015 with syntax from last year, all in the same file, and every line still runs.

Quick practice

quick drill

What is ECMAScript?

quick drill

Which edition introduced let, const and arrow functions?

quick drill

ES8 is the same edition as which year name?

quick drill

Who decides what gets added to the language today?

quick drill

Code written in 2012 using var is opened in a browser released this year. What happens?

🎯 Your turn

A friend's code uses const and arrow functions. It works in their new browser but fails in a very old one. Explain why, using the names JavaScript, ECMAScript and ES2015.

Write your explanation and submit it — there's no code to run here, just your reasoning.

Practice — level up

0/1 solved

Write your answer, then compare it with a rubric and a model answer.

ExplainWhy the code broke

A friend's code uses const and arrow functions. It works in their new browser but fails in a very old one. Explain why, using the names JavaScript, ECMAScript and ES2015.