Avez-vous une question? (216) 97 656 803 hajjriadh@gmail.com
JavaScript

Historique du langage JavaScript

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 grande...

0 chapitres 0 QCM Accès gratuit
Dans cet article

À 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.
  1. 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.
  2. 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.

    Naissance de JavaScript chez Netscape en 1995

  3. 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.
  4. 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.
  5. 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 : let et const, 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…).
    VersionAnnéeQuelques nouveautés
    ES2015 (ES6)2015let, const, fonctions fléchées, classes, modules, Promise
    ES20162016Array.includes(), opérateur puissance **
    ES20172017async / await, Object.entries()
    ES20182018spread/rest sur les objets, Promise.finally()
    ES20192019Array.flat(), Object.fromEntries()
    ES20202020chaînage optionnel ?., opérateur ??, BigInt
    ES20212021replaceAll(), opérateurs &&=, ||=, ??=
    ES20222022champs privés #, await au niveau supérieur, at()
    ES20232023toSorted(), toReversed(), findLast()
    ES20242024Object.groupBy(), Promise.withResolvers()
    ES20252025méthodes d'itérateurs, opérations sur les Set, modules JSON, RegExp.escape(), Promise.try()
    ES20262026Math.sumPrecise(), Array.fromAsync(), Error.isError(), Map.getOrInsert(), Base64 sur Uint8Array…
  6. 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 les Set (union, intersection…), l'import de fichiers JSON comme modules et RegExp.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 sur Uint8Array, Iterator.concat(), l'accès au texte source dans JSON.parse() et getOrInsert() sur Map.
    • 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 de JavaScript de 1995 à 2026

  7. Frise chronologique

  8. AnnéeÉvénement
    1995Brendan Eich crée Mocha / LiveScript chez Netscape, renommé JavaScript
    1996Netscape Navigator 2.0 ; Microsoft lance JScript dans Internet Explorer 3
    1997Première norme ECMAScript (ES1)
    1999ES3 (expressions régulières, try/catch)
    2006Sortie de jQuery
    2008Google Chrome et le moteur V8 ; abandon d'ES4
    2009Node.js ; ES5 ; Oracle rachète Sun et la marque JavaScript
    2010 – 2014npm, AngularJS, TypeScript (2012), React (2013), Vue.js (2014)
    2015ES6 / ES2015 et début du rythme annuel
    2017WebAssembly dans les navigateurs
    2018 – 2023Deno (2018) puis Bun (2023)
    2024Deno demande l'annulation de la marque « JavaScript »
    2025ES2025 ; 30 ans de JavaScript
    2026ES2026 ; l'API Temporal atteint le stage 4
  1. Nature du langage

    • JavaScript est 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.
  2. 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");
  3. Activités

  4. 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 ?

  1. JavaScript est une version simplifiée de Java.
  2. ECMAScript est le nom de la norme qui définit JavaScript.
  3. Depuis 2015, une nouvelle version d'ECMAScript paraît chaque année.
  4. JavaScript ne peut s'exécuter que dans un navigateur.
  5. 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.