Symbol.replace
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.
O símbolo Symbol.replace
é conhecido por especificar o método que substitui as substrings conrrespondentes de uma string. Essa função é chamada pelo método String.prototype.replace()
.
Para mais informações, veja RegExp.prototype[@@replace]()
e String.prototype.replace()
.
Experimente
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"
Property attributes of Symbol.replace | |
---|---|
Writable | no |
Enumerable | no |
Configurable | no |
Exemplos
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")));
// resultado esperado: "#!@?tball"
Especificações
Specification |
---|
ECMAScript® 2025 Language Specification # sec-symbol.replace |
Compatibilidade com navegadores
BCD tables only load in the browser