Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 bekannte Symbol Symbol.replace. Die Methoden String.prototype.replace() und String.prototype.replaceAll() suchen auf ihrem ersten Argument nach diesem Symbol, um die Methode zu finden, die Teilzeichenfolgen ersetzt, auf die das aktuelle Objekt passt.

Weitere Informationen finden Sie unter 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 bekannte Symbol Symbol.replace.

Eigenschaften von Symbol.replace
Schreibbarnein
Aufzählbarnein
Konfigurierbarnein

Beispiele

Symbol.replace verwenden

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® 2027 Language Specification
# sec-symbol.replace

Browser-Kompatibilität

Siehe auch