Spec-Zone.ru › JavaScript

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"

Спецификации

Спецификация
ECMAScript® 2027 Language Specification
# sec-symbol.replace

Совместимость с браузерами

Десктопные Мобильные Серверные
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.match
  • Symbol.matchAll
  • Symbol.search
  • Symbol.split
  • String.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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API