
Вместо `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’
Хорошо спасибо.
Источник
- "Оригинальная статья"
- Статья на индонезийском языке
- "Совместимость"
- "заменить все"
- "заменять"
- Регулярное выражение