Timeline of JavaScript
JavaScript from Netscape’s browser scripting language in 1995 to modern ECMAScript in 2025: standardization, browser engines, asynchronous programming, server runtimes, and application tooling.
- Category
- Engineering & Technology
- Events
- 19 events 1995–2025
- Generated
- by gpt-6-astra
1995: Eich creates JavaScript at Netscape
Brendan Eich developed a scripting language for Netscape Navigator, initially called Mocha and then LiveScript. Renamed JavaScript, it let web pages respond to user actions inside the browser; its name did not make it a version of Java.
Wikipedia1996: Microsoft ships JScript
Internet Explorer 3 included Microsoft’s implementation of the language, JScript. Competing browser implementations expanded the audience for scripting but also created compatibility problems for web developers.
Wikipedia1997: Ecma standardizes the core language
The first ECMAScript specification defined a common language core based on existing JavaScript and JScript implementations. Browser-specific facilities remained separate, so a language standard alone did not eliminate differences between browsers.
Wikipedia1999: ECMAScript 3 adds exceptions and regular expressions
The third edition standardized try and catch exception handling and regular expressions, among other improvements. It became the language baseline used throughout much of the following decade of web development.
Wikipedia2005: Ajax names a web-application pattern
Jesse James Garrett coined Ajax, short for Asynchronous JavaScript and XML, to describe browser interfaces that fetched data without reloading whole pages. The name grouped existing techniques that applications such as Gmail and Google Maps had made visible.
Wikipedia2006: jQuery simplifies browser scripting
John Resig released jQuery, a library for selecting page elements, handling events, and making asynchronous requests. Its consistent interface absorbed many browser differences that application authors had previously handled themselves.
Wikipedia2008: Chrome introduces the V8 engine
Google released Chrome with V8, an open-source JavaScript engine that compiled code to native machine instructions. V8’s performance work helped make larger browser applications practical and later supplied the engine for Node.js.
Wikipedia2009: Node.js brings event-driven JavaScript to servers
Ryan Dahl introduced Node.js, combining V8 with an event-driven runtime and nonblocking input and output. It expanded JavaScript’s role in network services, although server-side JavaScript implementations had existed before Node.js.
Wikipedia2009: ECMAScript 5 adds strict mode
The fifth edition standardized strict mode, native JavaScript Object Notation parsing, and new object and array operations. It followed the abandonment of the more ambitious ECMAScript 4 effort, favoring changes compatible with the existing web.
Wikipedia2010: npm organizes reusable JavaScript packages
Isaac Z. Schlueter created npm to distribute and manage packages for Node.js. A shared registry and dependency conventions later became central to browser tooling as well as server applications.
Wikipedia2012: Microsoft publishes TypeScript
Microsoft released TypeScript as an open-source language that added static types to JavaScript and compiled back to JavaScript. The approach supported larger codebases and editor tooling while preserving access to existing runtimes and libraries.
Wikipedia2013: Facebook releases React
Facebook open-sourced React, a library that described interfaces as reusable components and updated rendered output as application state changed. Its model helped shift front-end development toward declarative interfaces rather than manual page-element updates.
Wikipedia2015: ECMAScript 2015 expands the language
The sixth edition introduced modules, classes, promises, arrow functions, and block-scoped declarations. The standard substantially enlarged JavaScript’s core vocabulary, while transpilers helped developers use features before every browser implemented them.
Wikipedia2015: Node.js and io.js reunite
Node.js 4.0 combined the Node.js and io.js development lines after a split over project governance and release pace. A shared foundation and release process helped bring the server-side ecosystem back onto one maintained runtime.
Wikipedia2017: Async functions enter the language standard
ECMAScript 2017 standardized async functions and await, allowing promise-based code to use familiar control flow. Await suspended the surrounding async function rather than blocking the whole JavaScript execution thread.
Wikipedia2017: WebAssembly joins JavaScript in major browsers
Major browsers gained WebAssembly support, providing a portable binary compilation target alongside JavaScript. Applications could use compiled modules for suitable workloads while keeping JavaScript for coordination and access to browser facilities.
Wikipedia2020: Deno releases a stable runtime
Ryan Dahl’s Deno reached version 1.0 with support for JavaScript and TypeScript, explicit permissions, and browser-compatible interfaces. It revisited runtime design choices made in Node.js, including access to files and networks.
Wikipedia2022: ECMAScript standardizes top-level await
ECMAScript 2022 incorporated top-level await in modules and standardized public and private class fields. Module initialization could now wait for asynchronous work without wrapping an entire module in a separate async function.
Wikipedia2025: ECMAScript adds iterator helpers
ECMAScript 2025 standardized iterator helpers and set-composition methods, among other additions. Developers could express lazy transformations of iterators and operations such as set union through built-in language facilities.
Wikipedia