Symbol.matchAll

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

El símbolo conocido como Symbol.matchAll devuelve un iterador, que devuelve las coincidencias de la expresión regular con una cadena. Esta función es llamada por el método String.prototype.matchAll().

Pruébalo

Descripción

Este Symbol se utiliza para String.prototype.matchAll() y específicamente en RegExp.prototype[@@matchAll](). Los dos ejemplos siguientes devuelven el mismo resultado:

js
"abc".matchAll(/a/);

/a/[Symbol.matchAll]("abc");

Este método existe para personalizar el comportamiento de las coincidencias dentro de las subclases RegExp.

Atributos de la propiedad Symbol.matchAll
SobrescribirNo
NumerableNo
ConfigurableNo

Ejemplos

Usando Symbol.matchAll

js
const str = "2016-01-02|2019-03-07";

const numbers = {
  *[Symbol.matchAll](str) {
    for (const n of str.matchAll(/[0-9]+/g)) yield n[0];
  },
};

console.log(Array.from(str.matchAll(numbers)));
//  Array ["2016", "01", "02", "2019", "03", "07"]

Ver String.prototype.matchAll() y RegExp.prototype[@@matchAll]() para más ejemplos.

Especificaciones

Specification
ECMAScript Language Specification
# sec-symbol.matchall

Compatibilidad con navegadores

BCD tables only load in the browser

Véase también