Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Reference
  4. Standard built-in objects
  5. Symbol
  6. replace

Symbol.replace

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨January 2020⁩.

TheSymbol.replace static data property represents thewell-known symbolSymbol.replace. TheString.prototype.replace() andString.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, seeRegExp.prototype[Symbol.replace](),String.prototype.replace(), andString.prototype.replaceAll().

Try it

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 symbolSymbol.replace.

Property attributes ofSymbol.replace
Writableno
Enumerableno
Configurableno

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

Browser compatibility

See also

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp