javascript static data property
Symbol.replace
The Symbol.replace static data property represents the well-known symbol Symbol.replace. The replace() and replaceAll() methods look up this symbol on their first argument for the method that replaces substrings matched by the current object.
For more information, see RegExp.prototype[Symbol.replace](), replace(), and replaceAll().
Interactive exampleOpen the canonical MDN source to run this embedded demo.
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"
Value
The well-known symbol Symbol.replace.
0
Examples
Using Symbol.replace
class CustomReplacer {
constructor(value) {
this.value = value;
}
[Symbol.replace](string) {
return string.replace(this.value, "#!@?");
}
}
console.log("football".replace(new CustomReplacer("foo"))); // "#!@?tball"
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.