Symbol.matchAll
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis janvier 2020.
Le symbole connu Symbol.matchAll renvoie un itérateur qui fournit l'ensemble des correspondances entre une expression rationnelle et une chaîne de caractères. Cette fonction est implicitement appelée par la méthode String.prototype.matchAll().
Exemple interactif
const re = /[0-9]+/g;
const str = "2016-01-02|2019-03-07";
const result = re[Symbol.matchAll](str);
console.log(Array.from(result, (x) => x[0]));
// Expected output: Array ["2016", "01", "02", "2019", "03", "07"]
Description
Ce symbole est utilisé par String.prototype.matchAll() et plus particulièrement par RegExp.prototype[@@matchAll](). Les deux lignes qui suivent renverront le même résultat :
"abc".matchAll(/a/);
/a/[Symbol.matchAll]("abc");
Cette méthode existe afin de personnaliser le comportement des correspondances pour les sous-classes de RegExp.
Attributs de Symbol.matchAll | |
|---|---|
| Écrivable | Non |
| Énumérable | Non |
| Configurable | Non |
Exemples
Voir les pages String.prototype.matchAll() et RegExp.prototype[@@matchAll]() pour plus d'exemples.
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-symbol.matchall> |
Compatibilité des navigateurs
Chargement…