JavaScript en 2025 : aperçu des nouvelles fonctionnalités pour les débutants
JavaScript continue d'évoluer rapidement, et l'année 2025 a marqué une étape importante pour tous ceux qui étudient ce langage ou travaillent avec. Les innovations d'ECMAScript 2025 (ES2025) et les mises à jour de la plateforme Node.js rendent le code plus propre, plus rapide et plus sûr. Dans cet article, nous allons passer en revue les changements clés qui seront utiles aussi bien aux débutants qu'aux développeurs expérimentés. Vous découvrirez les nouvelles fonctionnalités apparues et comment les appliquer en pratique.
1. Temporal API : une nouvelle ère pour travailler avec les dates et l'heure
L'une des innovations les plus attendues est la Temporal API. Auparavant, pour travailler avec les dates, on utilisait l'objet obsolète Date, qui présentait de nombreux problèmes : mutabilité, confusion avec les fuseaux horaires et absence de support des calendriers. Temporal résout tous ces problèmes.
Désormais, les dates et l'heure sont immuables (immutable), et le travail avec les fuseaux horaires est intuitif. Regardons un exemple :
// Temporal API en actionconst now = Temporal.Now.plainDateTimeISO();console.log(now.toString()); // 2025-03-15T14:30:00
// Création d'une date avec indication du fuseau horaireconst meeting = Temporal.ZonedDateTime.from({ timeZone: 'Europe/Moscow', year: 2025, month: 12, day: 25, hour: 10, minute: 0});console.log(meeting.toLocaleString('ru-RU')); // 25.12.2025, 10:00Vous pouvez désormais facilement comparer des dates, ajouter des jours ou des mois sans risque de mutations :
const start = Temporal.PlainDate.from('2025-01-01');const end = start.add({ months: 3 });console.log(end.toString()); // 2025-04-01Pour les débutants, cela signifie qu'il n'est plus nécessaire d'utiliser des bibliothèques comme Moment.js ou date-fns — tout est disponible nativement.
2. Décorateurs : support officiel dans la norme
Les décorateurs sont un outil puissant pour modifier le comportement des classes et de leurs méthodes. En 2025, ils ont enfin obtenu un statut officiel dans ECMAScript. Auparavant, on ne pouvait les utiliser qu'avec TypeScript ou Babel, maintenant c'est possible en JavaScript pur.
Voici à quoi ressemble un décorateur simple pour journaliser l'appel d'une méthode :
// Décorateur pour la journalisationfunction log(target, context) { const methodName = context.name; const originalMethod = target;
return function (...args) { console.log(`Appel de ${methodName} avec les arguments : ${JSON.stringify(args)}`); const result = originalMethod.call(this, ...args); console.log(`Résultat : ${result}`); return result; };}
class Calculator { @log add(a, b) { return a + b; }}
const calc = new Calculator();calc.add(2, 3); // Affichage : Appel de add avec les arguments : [2,3]// Affichage : Résultat : 5Les décorateurs sont particulièrement utiles pour l'authentification, la mise en cache, la validation des données et d'autres tâches transversales. Les débutants doivent retenir l'essentiel : un décorateur est simplement une fonction qui enveloppe une autre fonction, en lui ajoutant un nouveau comportement.
3. Méthodes améliorées pour les tableaux et les collections
En 2025, travailler avec les tableaux est devenu encore plus pratique. De nouvelles méthodes sont apparues, simplifiant le tri, la recherche et la transformation des données. Examinons les plus utiles.
Méthode Array.prototype.groupBy()
Permet de regrouper les éléments d'un tableau par clé. Auparavant, il fallait écrire des boucles ou utiliser reduce().
const users = [ { name: 'Anna', role: 'admin' }, { name: 'Ivan', role: 'user' }, { name: 'Maria', role: 'admin' }, { name: 'Pierre', role: 'user' }];
const grouped = users.groupBy(user => user.role);console.log(grouped);// {// admin: [{ name: 'Anna', role: 'admin' }, { name: 'Maria', role: 'admin' }],// user: [{ name: 'Ivan', role: 'user' }, { name: 'Pierre', role: 'user' }]// }Méthode Array.prototype.toSorted()
Contrairement à