このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
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 2020年1月.
Symbol.replace は静的データプロパティで、ウェルノウンシンボルのSymbol.replace を表します。String.prototype.replace() およびString.prototype.replaceAll() メソッドは第 1 引数で、現在のオブジェクトに一致する部分文字列を置き換えるメソッドを、このシンボルで探します。
詳しくは、RegExp.prototype[Symbol.replace]()、String.prototype.replace()、String.prototype.replaceAll() を参照してください。
In this article
試してみましょう
class Replace1 { constructor(value) { this.value = value; } [Symbol.replace](string) { return `s/${string}/${this.value}/g`; }}console.log("foo".replace(new Replace1("bar")));// 予想される結果: "s/foo/bar/g"値
ウェルノウンシンボルSymbol.replace です。
Symbol.replace のプロパティ属性 | |
|---|---|
| 書込可能 | 不可 |
| 列挙可能 | 不可 |
| 設定可能 | 不可 |
例
>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"仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-symbol.replace> |