Вместо `replaceAll` лучше использовать `replace`.
Но почему? Разве `replace` не просто заменяет первый найденный символ/предложение?

Контекст нашего обсуждения на этот раз — replace & replaceAll, который является встроенной функцией/методом для String в JavaScript.

Во-первых, давайте посмотрим, как его использовать

const kalimat = 'Kita akan membuka toko. Kita akan menjual kebab'
// replaceAll
const kalimatReplacedAll = kalimat.replaceAll('Kita', 'Saya')
// replace
const kalimatReplaced = kalimat.replace('Kita', 'Saya')
console.table({
  kalimat,
  kalimatReplacedAll,
  kalimatReplaced,
})

Вышеприведенный код будет иметь выходное сообщение, например

  • replace и replaceAll не изменяют значение, оно возвращает измененное значение.
    Поэтому мы должны учесть изменения в новой переменной.
  • replaceAll изменяет все выводы, тогда как replace изменяет только первый вывод.

Проблема

Тогда почему?
Проблема в совместимости

На некоторых старых устройствах/браузерах может возникнуть ошибка выполнения.

Особенно для друзей, которые разрабатывают приложения для веб-просмотра, это должно быть проблемой.

Решение

Используйте replace.
Если вы хотите заменить все результаты, используйте Обычное Выражение с replace, как следует

const kalimatReplacedNew = kalimat.replace(/Kita/g, ‘Saya’)
console.log(kalimatReplacedNew) // ‘Saya akan membuka toko. Saya akan menjual kebab’

Хорошо спасибо.

Источник