ECMAScript 2025


Nouvelles fonctionnalités de JavaScript 2025

Fonctionnalité Description
RegExp /v flag Une "mise à niveau" du drapeau /u (unicode)
RegExp.escape() Renvoie une chaîne où les caractères regex sont échappés
Float16Array Un tableau typé qui stocke des nombres à virgule flottante de 16 bits
Math.f16round() Renvoie le nombre à virgule flottante de 16 bits le plus proche
Promise.try() Démarre une chaîne de promesses pour gérer les rejets
Importer des attributs Attributs d'importation autorisés dans les instructions d'importation

Nouvelles fonctionnalités de Set en 2025

Fonctionnalité Description
union() Renvoie l'union de deux ensembles
intersection() Renvoie l'intersection de deux ensembles
difference() Renvoie la différence entre deux ensembles
symmetricDifference() Renvoie la différence symétrique entre deux ensembles
isSubsetOf() Renvoie vrai si cet ensemble est un sous-ensemble d'un ensemble donné
isSupersetOf() Renvoie vrai si cet ensemble est un sur-ensemble d'un ensemble donné
isDisjointFrom() Renvoie vrai si cet ensemble n'a aucun élément en commun avec un ensemble donné

Avertissement

Ces fonctionnalités sont relativement nouvelles.

Les anciens navigateurs peuvent nécessiter un code alternatif (Polyfill).


Le drapeau RegExp /v

Le v flag est une "mise à niveau" du u flag.

Le u (unicode) flag permet un support complet de l'unicode dans les expressions régulières.

Le v flag permet plus de fonctionnalités liées à l'unicode.

Les nouvelles fonctionnalités sont :

  • La séquence d'échappement \p correspond à des chaînes, au lieu de simplement des caractères.
  • La classe de caractères est mise à niveau pour permettre les syntaxes d'intersection, d'union et de soustraction, ainsi que la correspondance de plusieurs caractères unicode.

Exemples

let text = "Hello 😄";

let pattern = /\p{RGI_Emoji}/v;
let result = pattern.test(text);
Essayez-le vous-même »
let text = "Hello 😄";

let pattern = /\p{RGI_Emoji}/;
let result = pattern.test(text);
Essayez-le vous-même »

/ regexp /v est pris en charge dans tous les navigateurs modernes depuis mai 2025 :

Chrome
136
Edge
136
Firefox
134
Safari
18.2
Opera
121
Avr 2025 Mai 2025 Jan 2025 Déc 2024 Juin 2025

La méthode RegExp.escape()

La méthode RegExp.escape() renvoie une chaîne où les caractères appartenant à la syntaxe des expressions régulières sont échappés.

Cela permet de traiter des caractères comme +, *, ?, ^, $, (, ), [, ], {, }, |, et \ littéralement, et non comme partie d'une expression régulière.

Exemple

Créez une expression régulière qui correspond à la chaîne "[*]" :

// Échapper un texte pour l'utiliser comme expression régulière
const safe = RegExp.escape("[*]");

// Construire une nouvelle expression régulière
const regex = new RegExp(safe);

// Texte à remplacer
const oldText = "[*] est une école web.";

// Effectuer le remplacement
const newText = oldText.match(regex, "formation-ti.org");
Essayez-le vous-même »

RegExp.escape() est pris en charge dans tous les navigateurs modernes depuis mai 2025 :

Chrome
136
Edge
136
Firefox
134
Safari
18.2
Opera
121
Avr 2025 Mai 2025 Jan 2025 Déc 2024 Juin 2025

La méthode Float16Array

Un Float16Array est un TypedArray qui stocke des nombres à virgule flottante de 16 bits (précision demi) au format IEEE 754 demi-précision.

Float16Array nécessite la moitié de la mémoire de Float32Array et un quart de Float64Array .

Exemple

const myArr = new Float16Array([1.5, 2.5, 3.5, 4.5]);

let bytes = myArr.BYTES_PER_ELEMENT;
let length = myArr.length;
Essayez-le vous-même »

L'objet Float16Array est pris en charge dans tous les navigateurs modernes depuis juin 2024 :

Chrome
135
Edge
135
Firefox
129
Safari
18.2
Opera
120
Avr 2025 Avr 2025 Août 2024 Déc 2024 Mai 2025

La méthode Math.f16round

La méthode statique Math.f16round() renvoie la représentation à virgule flottante de 16 bits la plus proche d'un nombre.

Exemple

let a = Math.f16round(2.60);
let b = Math.f16round(2.50);
let c = Math.f16round(2.49);
let d = Math.f16round(-2.60);
let e = Math.f16round(-2.50);
let f = Math.f16round(-2.49);
Essayez-le vous-même »

La méthode Math.f16round() est prise en charge dans tous les navigateurs modernes depuis juin 2024 :

Chrome
135
Edge
135
Firefox
129
Safari
18.2
Opera
120
Avr 2025 Avr 2025 Août 2024 Déc 2024 Mai 2025

La méthode Promise.try()

La méthode Promise.try() démarre une chaîne de promesses à partir d'un code synchrone potentiellement générateur d'erreurs.

Cela garantit que les exceptions sont correctement gérées en tant que rejets de promesses.

Exemple

function compute() {
return Promise.try(() => {
const v = mayThrowSync();
return asyncFunc(v);
});
}

Union de Set en JavaScript

La méthode union() renvoie l'union de deux ensembles.

La méthode union() renvoie un nouvel ensemble contenant les éléments qui sont dans cet ensemble, ou dans l'ensemble argument, ou dans les deux :

Union

Exemple

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

const C = A.union(B);
Essayez-le vous-même »

La méthode union() est prise en charge dans tous les navigateurs modernes depuis juin 2024 :

Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
Fév 2024 Fév 2024 Juin 2024 Sep 2023 Mar 2024

Intersection de Set en JavaScript

La méthode intersection() renvoie l'intersection de deux ensembles.

La méthode intersection() renvoie un nouvel ensemble contenant les éléments qui sont dans cet ensemble et dans l'ensemble argument :

Intersection

Exemple

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

const C = A.intersection(B);
Essayez-le vous-même »

La méthode intersection() est prise en charge dans tous les navigateurs modernes depuis juin 2024 :

Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
Fév 2024 Fév 2024 Juin 2024 Sep 2023 Mar 2024

Différence de Set en JavaScript

La méthode difference() renvoie la différence entre deux ensembles.

La méthode difference() renvoie un nouvel ensemble contenant des éléments qui sont dans cet ensemble mais pas dans l'ensemble argument :

Différence

Exemple

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

const C = A.difference(B);
Essayez-le vous-même »

La méthode difference() est prise en charge dans tous les navigateurs modernes depuis juin 2024 :

Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
Fév 2024 Fév 2024 Juin 2024 Sep 2023 Mar 2024

Différence symétrique de Set en JavaScript

La méthode symmetricDifference() renvoie la différence symétrique entre deux ensembles.

La méthode symmetricDifference() renvoie un nouvel ensemble contenant des éléments qui sont dans cet ensemble ou dans l'ensemble argument, mais pas dans les deux :

Différence symétrique

Exemple

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

const C = A.symmetricDifference(B);
Essayez-le vous-même »

La méthode symmetricDifference() est prise en charge dans tous les navigateurs modernes depuis juin 2024 :

Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
Fév 2024 Fév 2024 Juin 2024 Sep 2023 Mar 2024

JavaScript Set isSubsetOf()

La méthode isSubsetOf() renvoie true si tous les éléments de cet ensemble sont des éléments de l'ensemble argument :

Sous-ensemble

Exemple

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

let answer = A.isSubsetOf(B);
Essayez-le vous-même »

La méthode isSubsetOf() est prise en charge dans tous les navigateurs modernes depuis juin 2024 :

Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
Fév 2024 Fév 2024 Juin 2024 Sep 2023 Mar 2024

JavaScript Set isSupersetOf()

La méthode isSupersetOf() renvoie true si tous les éléments de l'ensemble argument sont également dans cet ensemble :

Sur-ensemble

Exemple

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

let answer = A.isSupersetOf(B);
Essayez-le vous-même »

La méthode isSupersetOf() est prise en charge dans tous les navigateurs modernes depuis juin 2024 :

Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
Fév 2024 Fév 2024 Juin 2024 Sep 2023 Mar 2024

JavaScript Set isDisjointFrom()

La méthode isDisjointFrom() renvoie true si cet ensemble n'a aucun élément en commun avec l'ensemble argument :

Disjoint

Exemple

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

let answer = A.isDisjointFrom(B);
Essayez-le vous-même »

La méthode Set.isDisjointFrom() est prise en charge dans tous les navigateurs modernes depuis juin 2024 :

Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
Fév 2024 Fév 2024 Juin 2024 Sep 2023 Mar 2024

Remarque

L'utilisation des deux drapeaux (u et v) entraîne une SyntaxError.


Modules avec attributs d'importation

Syntaxe

import {names} from "module-name" with {key:"data"};

Exemples

import config from "config.json" with {type:"json"};

import styles from "styles.css" with {type:"css"};

import data from "data.json" with {type:"json"};