Symbol.replace
Baseline
Ampliamente disponible
Esta característica está consolidada y funciona en muchos dispositivos y versiones de navegador. Está disponible en todos los navegadores desde enero de 2020.
El símbolo conocido como Symbol.replace especifica el método que reemplaza las subcadenas coincidentes de una cadena. Esta función es llamada por el método String.prototype.replace().
Para más información, consulte RegExp.prototype[@@replace]() y String.prototype.replace().
Pruébalo
class Replace1 {
constructor(value) {
this.value = value;
}
[Symbol.replace](string) {
return `s/${string}/${this.value}/g`;
}
}
console.log("foo".replace(new Replace1("bar")));
// Expected output: "s/foo/bar/g"
Atributos de la propiedad Symbol.replace | |
|---|---|
| Sobrescribir | No |
| Numerable | No |
| Configurable | No |
Ejemplos
>Usando Symbol.replace
js
class CustomReplacer {
constructor(value) {
this.value = value;
}
[Symbol.replace](string) {
return string.replace(this.value, "#!@?");
}
}
console.log("football".replace(new CustomReplacer("foo")));
// salida esperada: "#!@?tball"
Especificaciones
| Especificación |
|---|
| ECMAScript® 2027 Language Specification> # sec-symbol.replace> |