1. Introduction
Le PDF du document est |ICI|.
Les codes du document sont |ICI|.
Ce document est une réécriture par l’IA Claude d’Anthropic, en 2026, du cours « Introduction au langage ECMASCRIPT 6 par l'exemple » écrit par Serge Tahé en octobre 2019. Cela s’est passé en trois temps :
- j’ai donné à l’IA Claude le projet VSCode du document initial de 2019 en lui demandant de réécrire tous les scripts en TypeScript ;
- puis je lui ai donné le fichier ODT du cours initial en lui demandant de l’adapter aux nouveaux scripts ;
- puis j’ai testé les codes et lu le cours. Les codes étaient tous corrects. J’ai dû modifier le cours. Claude AI n’avait pas repris certains schémas du cours initial. Je les ai remis. Mais surtout, le cours initial utilisait un serveur de calcul d’impôt qui ne faisait pas partie des codes à télécharger. J’ai ajouté un chapitre qui explique comment installer ce serveur PHP sur une machine locale. Les codes du serveur font maintenant partie des codes à télécharger.
Le document présent est le résultat de ces trois étapes. Les deux premières étapes ont été accomplies en moins de 30 mn chacune. J’ai mis plusieurs jours à lire et tester les codes et à modifier le cours.
Serge Tahé, septembre 2026
==
Le langage a beaucoup évolué depuis 2019 : ECMAScript est passé par les éditions 2020 à 2026, et un langage compagnon, [TypeScript], s'est imposé comme la façon la plus sûre d'écrire du JavaScript à grande échelle. Cette réécriture suit fidèlement le plan et la pédagogie du document original — un script, son code, son explication ligne par ligne, son exécution — mais :
- tous les scripts sont désormais écrits en [TypeScript] plutôt qu'en JavaScript pur ;
- les explications portent, en plus de la syntaxe du langage, sur les types et sur les différences avec JavaScript ;
- de nouveaux chapitres ont été ajoutés pour couvrir les nouveautés apparues entre 2020 et 2026 : chaînage optionnel, classes à champs privés, top-level await, Object.groupBy, Array.fromAsync, et les tout derniers ajouts d'ECMAScript 2026 (Math.sumPrecise, Iterator.concat, Error.isError...) ;
- un chapitre est consacré à [Temporal], le successeur moderne de l'objet Date ;
- les captures d'écran d'exécution VSCode du document original ont été remplacées par le résultat réellement exécuté et vérifié de chaque script, avec tsx sur Node.js 26.
Comme le document original, celui-ci fait référence à un serveur de calcul de l'impôt écrit en PHP 7 (cf. le cours « Introduction au langage PHP7 par l'exemple »). Les derniers chapitres construisent, en TypeScript, un client de ce serveur — d'abord une application console, structurée en couches [UI, métier, dao], puis un client fonctionnant dans un navigateur avec [webpack].
Ce document nécessite une lecture active : pour comprendre un script, il faut à la fois lire son code, ses commentaires, et le résultat réel de son exécution.
1.1. Public visé et prérequis
Ce document s'adresse à des débutants en TypeScript, mais qui connaissent déjà les bases de la programmation (variables, boucles, fonctions, structures conditionnelles) dans un autre langage. Aucune connaissance préalable de JavaScript ou de TypeScript n'est nécessaire.
1.2. Organisation du projet d'exemples
Tous les scripts présentés dans ce document appartiennent à un unique projet VSCode, organisé en un dossier par chapitre (bases, tableaux, objets, strings, regexp, fonctions, exceptions, modules, async, http, classes, nouveautes, ecmascript-2026, temporal, client impots). Chaque script y est un fichier .ts, exécutable directement avec la commande suivante, depuis la racine du projet :