Symbol.match
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.match
especifica la coincidencia de una expresión regular con una cadena. Esta función es llamada por el método String.prototype.match()
.
Pruébalo
Descripción
Esta función también se utiliza para identificar si los objetos tienen el comportamiento de las expresiones regulares. Por ejemplo, los métodos String.prototype.startsWith()
, String.prototype.endsWith()
y String.prototype.includes()
, comprueban si su primer argumento es una expresión regular y lanzarán un TypeError
si lo son. Ahora bien, si el símbolo match
se establece como false
(o un valor Falsy), indica que el objeto no está destinado a ser utilizado como un objeto de expresión regular.
Atributos de la propiedad Symbol.match | |
---|---|
Sobrescribir | No |
Numerable | No |
Configurable | No |
Ejemplos
Desactivar la comprobación de isRegExp
El siguiente código lanzará un TypeError
:
"/bar/".startsWith(/bar/);
// Lanza TypeError, ya que /bar/ es una expresión regular
// y Symbol.match no se modifica.
Sin embargo, si establece Symbol.match
a false
, la comprobación isRegExp
(que utiliza la propiedad match
) indicará que el objeto no es un objeto de expresión regular. Los métodos startsWith
y endsWith
no lanzarán un TypeError
como consecuencia.
const re = /foo/;
re[Symbol.match] = false;
"/foo/".startsWith(re); // true
"/baz/".endsWith(re); // false
Especificaciones
Specification |
---|
ECMAScript Language Specification # sec-symbol.match |
Compatibilidad con navegadores
BCD tables only load in the browser