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