Baseline Widely available
The Symbol.replace
static data property represents the well-known symbol Symbol.replace
. The String.prototype.replace()
and String.prototype.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]()
, String.prototype.replace()
, and String.prototype.replaceAll()
.
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
.
class CustomReplacer {
constructor(value) {
this.value = value;
}
[Symbol.replace](string) {
return string.replace(this.value, "#!@?");
}
}
console.log("football".replace(new CustomReplacer("foo"))); // "#!@?tball"
Specifications Browser compatibility See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4