À propos de ce cours
Découvrez l'histoire du langage JavaScript, de sa création en 1995 par Brendan Eich chez Netscape jusqu'à ECMAScript 2026. Cette leçon explique la différence entre JavaScript et ECMAScript, les grandes étapes du langage (ES3, ES5, ES6), l'arrivée de V8, Node.js et des frameworks, ainsi que l'actualité récente : les nouveautés d'ES2025 et d'ES2026, l'API Temporal et le débat sur la marque JavaScript. Avec une frise chronologique, un exemple à tester dans la console et des activités.
-
Objectifs
- Connaître les grandes étapes de l'histoire de JavaScript, de 1995 à aujourd'hui.
- Comprendre la différence entre JavaScript et ECMAScript.
- Situer les versions du langage (ES5, ES6, ES2025, ES2026…) et savoir ce qu'elles apportent.
- Connaître l'actualité récente du langage.
-
La naissance de JavaScript (1995 – 1996)
- En mai 1995, Brendan Eich, ingénieur chez Netscape, écrit le premier prototype du langage en une dizaine de jours. Il s'appelle d'abord Mocha, puis LiveScript.
- Objectif : offrir aux concepteurs de pages web un langage simple, exécuté directement par le navigateur, pour rendre les pages interactives.
- En décembre 1995, Netscape et Sun Microsystems annoncent le nom JavaScript. Ce nom est surtout un choix marketing : Java était alors très à la mode. Malgré le nom, JavaScript n'est pas Java: sa syntaxe s'inspire du C et de Java, mais ses idées viennent surtout des langages Scheme (fonctions) et Self (prototypes).
- En 1996, JavaScript est livré dans Netscape Navigator 2.0. La même année, Microsoft crée sa propre version, JScript, pour Internet Explorer 3. C'est le début de la « guerre des navigateurs » : un même script ne fonctionne pas toujours de la même façon partout.

-
La normalisation : ECMAScript (1997 – 2009)
- Pour mettre fin aux incompatibilités, Netscape confie le langage à l'organisme de normalisation Ecma International. Le comité TC39 est chargé de le faire évoluer.
- En juin 1997, la première norme, ECMAScript 1 (ES1), est publiée sous la référence ECMA-262. Elle contient déjà les fonctions, les objets et l'héritage par prototypes.
- ES2 (1998) et ES3 (1999) suivent. ES3 apporte notamment les expressions régulières et le bloc
try/catch. - Le projet ES4, très ambitieux (classes, interfaces, types), divise les membres du comité. Il est abandonné en 2008.
- En 2006, la bibliothèque jQuery simplifie l'écriture de scripts compatibles avec tous les navigateurs. Elle devient incontournable pendant des années.
- En décembre 2009, ES5 est publié : mode strict (
"use strict"), support natif de JSON, nouvelles méthodes de tableaux (forEach,map,filter…).
JavaScript ou ECMAScript ? ECMAScript est le nom de la norme (le cahier des charges du langage). JavaScript est le nom usuel du langage qui respecte cette norme. Quand on parle d'« ES6 » ou d'« ES2026 », on parle d'une version de la norme. -
La renaissance : V8, Node.js et les frameworks (2008 – 2014)
- En septembre 2008, Google lance le navigateur Chrome avec un moteur JavaScript open source très rapide, V8. Les autres navigateurs accélèrent aussi leurs moteurs (SpiderMonkey chez Firefox, JavaScriptCore chez Safari).
- En 2009, Ryan Dahl présente Node.js, basé sur V8. JavaScript sort du navigateur et s'exécute aussi sur le serveur. Le gestionnaire de paquets npm apparaît en 2010.
- Les frameworks pour créer des applications monopage (SPA) se multiplient : AngularJS (Google, 2010), Backbone.js (2010), React (Facebook, 2013), Vue.js (2014).
- En 2012, Microsoft publie TypeScript, un sur-ensemble de JavaScript qui ajoute le typage. Il est transpilé (converti) en JavaScript.
-
ES6 et le rythme annuel (2015 – aujourd'hui)
- En juin 2015, ES6 (aussi appelé ES2015) est la plus grosse mise à jour de l'histoire du langage :
letetconst, fonctions fléchées, classes, modules (import/export), promesses, template literals, déstructuration… - Depuis 2015, une nouvelle version paraît chaque année, en juin. Elle porte le nom de l'année : ES2016, ES2017… Chaque nouveauté suit un processus en étapes (stages 0 à 4) au sein du TC39. Seules les propositions arrivées au stage 4 entrent dans la norme.
- En 2017, WebAssembly arrive dans les navigateurs : il permet d'exécuter, à côté de JavaScript, du code compilé depuis d'autres langages (C, C++, Rust…).
Version Année Quelques nouveautés ES2015 (ES6) 2015 let,const, fonctions fléchées, classes, modules,PromiseES2016 2016 Array.includes(), opérateur puissance**ES2017 2017 async/await,Object.entries()ES2018 2018 spread/rest sur les objets, Promise.finally()ES2019 2019 Array.flat(),Object.fromEntries()ES2020 2020 chaînage optionnel ?., opérateur??,BigIntES2021 2021 replaceAll(), opérateurs&&=,||=,??=ES2022 2022 champs privés #,awaitau niveau supérieur,at()ES2023 2023 toSorted(),toReversed(),findLast()ES2024 2024 Object.groupBy(),Promise.withResolvers()ES2025 2025 méthodes d'itérateurs, opérations sur les Set, modules JSON,RegExp.escape(),Promise.try()ES2026 2026 Math.sumPrecise(),Array.fromAsync(),Error.isError(),Map.getOrInsert(), Base64 surUint8Array… - En juin 2015, ES6 (aussi appelé ES2015) est la plus grosse mise à jour de l'histoire du langage :
-
L'actualité de JavaScript (2025 – 2026)
- JavaScript a fêté ses 30 ans en décembre 2025. C'est aujourd'hui le langage le plus utilisé au monde pour le développement web.
- ECMAScript 2025 (16e édition) a été approuvé le 25 juin 2025. Il apporte notamment les méthodes d'itérateurs (
map,filter,take… directement sur les itérateurs), les opérations d'ensembles sur lesSet(union,intersection…), l'import de fichiers JSON comme modules etRegExp.escape(). - ECMAScript 2026 (17e édition) a été approuvé le 30 juin 2026. Il ajoute sept nouveautés à la bibliothèque standard, sans nouvelle syntaxe :
Array.fromAsync(),Error.isError(),Math.sumPrecise(), les conversions Base64/hexadécimal surUint8Array,Iterator.concat(), l'accès au texte source dansJSON.parse()etgetOrInsert()surMap. - Temporal, la nouvelle API des dates et heures, a atteint le stage 4 en mars 2026, après neuf ans de travail. Elle remplacera l'objet
Date, source de nombreux bugs depuis 1995 (mois numérotés à partir de 0, fuseaux horaires mal gérés…). Elle est prévue dans ES2027, mais elle est déjà disponible dans Chrome et Firefox. Le mot-cléusing(libération automatique des ressources) suit le même chemin. - Le nom « JavaScript » est toujours une marque déposée d'Oracle, héritée du rachat de Sun en 2009. En novembre 2024, la société Deno (fondée par Ryan Dahl, créateur de Node.js) a demandé à l'office américain des marques (USPTO) d'annuler cette marque, avec le soutien de Brendan Eich et de dizaines de milliers de développeurs. Fin 2026, la procédure n'est pas encore tranchée.
- Côté serveur, Node.js n'est plus seul : Deno (2018) et Bun (2023) proposent d'autres environnements d'exécution JavaScript et TypeScript.
- TypeScript est devenu un standard dans les projets professionnels (Angular est entièrement écrit en TypeScript). En 2025, Microsoft a annoncé la réécriture de son compilateur en langage Go pour le rendre environ dix fois plus rapide.

-
Frise chronologique
| Année | Événement |
|---|---|
| 1995 | Brendan Eich crée Mocha / LiveScript chez Netscape, renommé JavaScript |
| 1996 | Netscape Navigator 2.0 ; Microsoft lance JScript dans Internet Explorer 3 |
| 1997 | Première norme ECMAScript (ES1) |
| 1999 | ES3 (expressions régulières, try/catch) |
| 2006 | Sortie de jQuery |
| 2008 | Google Chrome et le moteur V8 ; abandon d'ES4 |
| 2009 | Node.js ; ES5 ; Oracle rachète Sun et la marque JavaScript |
| 2010 – 2014 | npm, AngularJS, TypeScript (2012), React (2013), Vue.js (2014) |
| 2015 | ES6 / ES2015 et début du rythme annuel |
| 2017 | WebAssembly dans les navigateurs |
| 2018 – 2023 | Deno (2018) puis Bun (2023) |
| 2024 | Deno demande l'annulation de la marque « JavaScript » |
| 2025 | ES2025 ; 30 ans de JavaScript |
| 2026 | ES2026 ; l'API Temporal atteint le stage 4 |
-
Nature du langage
JavaScriptest un langage de script interprété (compilé « à la volée » par les moteurs modernes), à typage dynamique, orienté objet à prototypes et qui supporte la programmation fonctionnelle.- Incorporé aux pages HTML, il améliore la présentation et l'interactivité des pages web. Les scripts sont exécutés par le navigateur lui-même, sans faire appel au serveur : les instructions sont donc traitées directement et sans délai.
- Aujourd'hui, il s'exécute aussi sur le serveur (Node.js, Deno, Bun), dans les applications mobiles et de bureau.
-
Exemple : vérifier les nouveautés dans son navigateur
- Ouvrez la console du navigateur (touche F12, onglet Console) et tapez :
// ES2015 : let, fonction fléchée et template literal const saluer = (nom) => `Bonjour ${nom} !`; console.log(saluer("stagiaire")); // ES2026 : une somme précise (le 0.1 n'est plus « perdu ») console.log([1e20, 0.1, -1e20].reduce((a, b) => a + b, 0)); // 0 console.log(Math.sumPrecise([1e20, 0.1, -1e20])); // 0.1 // Est-ce que mon navigateur connaît Temporal ? console.log(typeof Temporal !== "undefined" ? "Temporal disponible" : "Temporal pas encore disponible"); -
Activités
Activité 1 : la frise chronologique
- Associez chaque année à l'événement correspondant : 1995, 1997, 2008, 2009, 2015.
- Événements : sortie d'ES6 ; création de Node.js ; première norme ECMAScript ; création de LiveScript ; lancement du moteur V8.
Activité 2 : vrai ou faux ?
- JavaScript est une version simplifiée de Java.
- ECMAScript est le nom de la norme qui définit JavaScript.
- Depuis 2015, une nouvelle version d'ECMAScript paraît chaque année.
- JavaScript ne peut s'exécuter que dans un navigateur.
- Le nom « JavaScript » appartient aujourd'hui à Ecma International.
Activité 3 : tester dans la console
- Exécutez l'exemple ci-dessus dans deux navigateurs différents (Chrome, Firefox, Edge…). Notez les fonctionnalités disponibles dans chacun.
- Sur la référence MDN, recherchez la page de
Math.sumPrecise()et consultez le tableau de compatibilité des navigateurs en bas de page.
Activité 4 : recherche
- Sur le dépôt GitHub du TC39 (github.com/tc39/proposals), trouvez deux propositions actuellement au stage 3. Expliquez en une phrase ce que chacune apporte.
Corrigé de l'activité 2 : 1. Faux (seul le nom rappelle Java). 2. Vrai. 3. Vrai. 4. Faux (Node.js, Deno, Bun…). 5. Faux (la marque appartient à Oracle).
À retenir
- JavaScript a été créé en 1995 par Brendan Eich chez Netscape ; il n'a pas de lien technique avec Java.
- La norme du langage s'appelle ECMAScript; elle est maintenue par le comité TC39 d'Ecma International.
- ES6 (2015) a modernisé le langage ; depuis, une version sort chaque année (la dernière : ES2026).
- Grâce à V8 et Node.js, JavaScript est utilisé partout : navigateur, serveur, mobile.
Sources : Ecma International (ecma-international.org), dépôt des propositions du TC39 (github.com/tc39/proposals), blog de Deno (deno.com/blog), InfoWorld, 2ality.com.