Symbol.match
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 (en-US)), 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
:
js
"/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.
js
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