--- title: Symbol.replace slug: Web/JavaScript/Reference/Global_Objects/Symbol/replace tags: - ECMAScript 2015 - JavaScript - Property - Symbol translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/replace --- <div>{{JSRef}}</div> <p><strong><code>Symbol.replace</code></strong> ウェルノウンシンボルは、文字列の一致した部分を置き換えるメソッドを指定します。この関数は {{jsxref("String.prototype.replace()")}} メソッドから呼び出されます。</p> <p>詳しくは、 {{jsxref("RegExp.@@replace", "RegExp.prototype[@@replace]()")}} と {{jsxref("String.prototype.replace()")}} を参照してください。</p> <div>{{EmbedInteractiveExample("pages/js/symbol-replace.html")}}</div> <div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> <div>{{js_property_attributes(0,0,0)}}</div> <h2 id="Examples" name="Examples">例</h2> <h3 id="Using_Symbol.replace" name="Using_Symbol.replace">Symbol.replace の使用</h3> <pre class="brush: js notranslate">class CustomReplacer { constructor(value) { this.value = value; } [Symbol.replace](string) { return string.replace(this.value, '#!@?'); } } console.log('football'.replace(new CustomReplacer('foo'))); // expected output: "#!@?tball"</pre> <h2 id="Specifications" name="Specifications">仕様書</h2> <table class="standard-table"> <thead> <tr> <th scope="col">仕様書</th> </tr> </thead> <tbody> <tr> <td>{{SpecName('ESDraft', '#sec-symbol.replace', 'Symbol.replace')}}</td> </tr> </tbody> </table> <h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> <p>{{Compat("javascript.builtins.Symbol.replace")}}</p> <h2 id="See_also" name="See_also">関連情報</h2> <ul> <li>{{jsxref("Symbol.match")}}</li> <li>{{jsxref("Symbol.search")}}</li> <li>{{jsxref("Symbol.split")}}</li> <li>{{jsxref("RegExp.@@replace", "RegExp.prototype[@@replace]()")}}</li> </ul>