Symbol.replace
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
Die statische Dateneigenschaft Symbol.replace repräsentiert das wohlbekannte Symbol Symbol.replace. Die Methoden String.prototype.replace() und String.prototype.replaceAll() suchen dieses Symbol in ihrem ersten Argument, um die Methode zu finden, die Teilstrings ersetzt, die mit dem aktuellen Objekt übereinstimmen.
Für weitere Informationen siehe RegExp.prototype[Symbol.replace](), String.prototype.replace(), und String.prototype.replaceAll().
Probieren Sie es aus
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"
Wert
Das wohlbekannte Symbol Symbol.replace.
Eigenschaften von Symbol.replace | |
|---|---|
| Schreibbar | nein |
| Aufzählbar | nein |
| Konfigurierbar | nein |
Beispiele
>Verwendung von 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"))); // "#!@?tball"
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2026 Language Specification> # sec-symbol.replace> |