Symbol.replace

The Symbol.replace static data property represents the well-known symbol @@replace. The String.prototype.replace() method looks up this symbol on its first argument for the method that replaces substrings matched by the current object.

For more information, see RegExp.prototype[@@replace]() and String.prototype.replace().

Try it

Value

The well-known symbol @@replace.

Property attributes of Symbol.replace
Writable no
Enumerable no
Configurable no

Examples

Using 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"

Specifications

Specification
ECMAScript Language Specification
# sec-symbol.replace

Browser compatibility

BCD tables only load in the browser

See also