Symbol.replace
Базовый уровень Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с сентября 2015 года.
Статическое свойство данных Symbol.replace представляет общеизвестный символ Symbol.replace. Методы String.prototype.replace() и String.prototype.replaceAll() ищут этот символ в своём первом аргументе для метода, который заменяет подстроки, соответствующие текущему объекту.
Для получения дополнительной информации см. RegExp.prototype[Symbol.replace](), String.prototype.replace() и String.prototype.replaceAll().
Попробовать
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"
Значение
Общеизвестный символ Symbol.replace.
Атрибуты свойства Symbol.replace
| |
|---|---|
| Записываемый | нет |
| Перечисляемый | нет |
| Конфигурируемый | нет |
Примеры
Использование Symbol.replace
class CustomReplacer {
constructor(value) {
this.value = value;
}
[Symbol.replace](string) {
return string.replace(this.value, "#!@?");
}
}
console.log("football".replace(new CustomReplacer("foo"))); // "#!@?tball"
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
replace |
50 |
79 |
49 |
37 |
10 |
50 |
49 |
37 |
10 |
5.0 |
50 |
10 |
1.0.0 |
1.0 |
6.0.0 |
См. также
- Полифил
Symbol.replaceвcore-js Symbol.matchSymbol.matchAllSymbol.searchSymbol.splitString.prototype.replace()String.prototype.replaceAll()RegExp.prototype[Symbol.replace]()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/replace