Javascript Timeline
Major developments in the evolution of the ECMAScript (née
Javascript
) language.
1995
Brendan Eich
developed JavaScript for
Netscape
.
1996
Microsoft developed
JScript
.
Netscape transferred control of the JavaScript standard to
ECMA
, but retained the trademark; hence, ECMAScript.
1997
Microsoft introduced
DHTML
.
1998
W3C published the
DOM
standard.
Mozilla
founded.
1999
Microsoft implemented
XMLHttpRequest
.
ECMA published the
ES3
spec.
Regular expressions
try/catch
switch
Strict equality operators (=== and !==)
do...while
Unicode format-control characters
Error objects
encodeURI/decodeURI
instanceof
in
2002
Douglas Crockford
introduced
JSON
and
JSLint
Oddpost
developed the first
Ajax
application.
2004
WHATWG
founded.
Apple introduced the
canvas element
.
2005
Jesse James Garrett
coined the term
Ajax
.
2006
John Resig
released
jQuery
.
Joe Hewitt
released
Firebug
.
Yahoo released
YUI
.
2008
Google released the first modern JavaScript engine,
V8
, with JIT compilation for Chrome.
Apple added
Web SQL
to their Safari browser.
ECMA abandoned the proposed ES4 and EX4 standards.
2009
Ryan Dahl
developed
Node
.
Isaac Z. Schlueter developed
npm
.
Kevin Dangoor introduced
CommonJS
.
Nitobi Software developed
Cordova
(née PhoneGap).
Jeremy Ashkenas
released
underscore.js
.
Arun Ranganathan wrote the
first File API spec
at Mozilla.
ES5
"use strict"
Array methods
Object methods
JSON
bind
Date.now/valueOf
String.trim
2010
Google released
Angular
.
Jeremy Ashkenas
released
backbone.js
and
Coffeescript
.
Nikunj Mehta designed
IndexedDB
at Oracle.
2011
Mozilla announced
WebAPIs
The Khronos Group
announced
WebGL
along with Typed Arrays.
TJ Holowaychuk developed
Express
Yehuda Katz developed
Ember
James Halliday developed
Browserify
2012
Microsoft released
TypeScript
and
WinJS
John-David Dalton developed
Lodash
Ben Alman developed
Grunt
2013
Facebook released
React
developed by Jordan Walke.
Mozilla released
asm.js
Github released
Electron
.
Eric Schoffstall developed
gulp
2014
HTML5
webpack
Sebastian McKenzie developed
Babel
Guillermo Rauch developed
Socket.IO
Evan You developed
Vue
Matt Zabriskie developed
Axios
2015
Facebook released
React Native
.
Dan Abramov and Andrew Clark developed
Redux
.
WHATWG introduced the
fetch
standard.
Mathias Biilmann coined the term
Jamstack
ES2015 (ES6)
let/const
Promises
Classes
Modules
Symbols
Map
Set
Rest and Spread operators (...)
Arrow functions (=>)
Template Literals
Object methods
is
assign
setPrototypeOf
String.repeat/codePointAt/normalize
Array.find and findIndex
for-of loops
destructuring
2016
ES2016
Array.includes
Exponentiation (**)
Guillermo Rauch released
Next.js
.
Storybook was developed by Kadira
.
2017
WebAssembly
ES2017
async/await
String.padStart/padEnd
Object.entries/values
getOwnPropertyDescriptors
trailing commas
2018
React Hooks
useState
useReducer
useEffect
useContext
ES2018
Rest/spread for objects
for-await-of
Promise.finally
Regex-
Unicode properties
Lookbehind
Named capture groups
Multiline match
2019
ES2019
Array.flat/flatMap
String.trimStart/trimEnd
Object.fromEntries
Function.toString
Symbol.description
Optional catch binding
2020
ES2020
Dynamic imports
BigInt
String.matchAll
Promise.allSettled
Nullish coalescing operator (??)
Optional chaining operator (?.)
globalThis
2021
ES2021
String.replaceAll
Promise.any
Logical assignment operators (||=, ??=, &&=)
Underscores as commas in integers
WeakRef
2022
ES2022
Array.at
2023
ES2023
2024
ES2024 (ES15)