
Большинство JavaScript-разработчиков ежедневно работают со строками, не имея ни малейшего представления о том, что на самом деле делают. Что-то куда-то копируют и вставляют. И как-то это работает, пока не перестает.
Да, я тоже был таким, пока однажды не попытался по-настоящему разобраться в строках.
Чтобы и вы наконец перестали смотреть на свой код с таким же недоумением, как на приведенной выше картинке, изучите и используйте 7 самых важных методов работы со строками.
1. String.prototype.at()
Если вы считали, что выражение word[word.length -1] — это хорошее решение, то готовьтесь к неприятным сюрпризам с некоторыми символами Unicode.
В JavaScript уже несколько лет есть более элегантное решение, которое вам стоит начать использовать прямо сейчас.

Заменяя нечитаемое и подверженное ошибкам выражение word[word.length -1], вы сразу сокращаете баги и экономите умственные усилия.
2. String.prototype.replaceAll()
Этот метод заменяет все вхождения строки. Все до единого. Чисто. Без регулярного выражения, похожего на китайский суп из лапши в виде букв, разлитый по экрану.

Этот пример наглядно показывает, почему такой подход гораздо разумнее:

Что читается лучше? Полагаю, первый вариант, верно?
3. String.prototype.matchAll()
Тот, кто когда-либо имел дело с логами, аналитикой или необработанными ответами API, оценит эту возможность.

При извлечении данных и потребности в группах, этот метод становится не роскошью, а необходимостью.
4. padStart() / padEnd()
Номера счетов, банковские данные, временные метки в логах, двоичные IP-адреса. Многие разработчики для всего этого до сих пор используют циклы. И зря.
JavaScript предлагает гораздо более элегантный метод:

5. String.prototype.normalize()
Как только вы начинаете сравнивать строки с Unicode-символами любым способом, normalize() становится обязательным.

Сравнивая пользовательский ввод, имена файлов, поисковые запросы или идентификаторы без применения normalize(), вы будете создавать баги.
6. trimStart() / trimEnd()
Часто вам не нужна вся мощь trim(), но пробелы в начале или в конце могут быть критичны.
Парсеры Markdown, средства форматирования кода или ввод командной строки зависят от правильного расположения пробелов.

7. split() с ограничением
Зачем разделять всё, когда нужно только начало?

Меньше работы. Меньше ресурсов. Больше ясности.
Заключение
Большинство разработчиков используют строки, но не понимают их.
Эти методы существуют не для элегантности. Они существуют потому, что программы с текстом дают сбой — снова и снова.
Если вы их игнорируете, будете писать код, который:
- работает локально;
- дает сбои на международных данных;
- не справляется с реальными пользовательскими данными.
И вы не заметите этого, пока не станет слишком поздно.
JavaScript получил эти инструменты не просто для развлечения. Так что используйте их.
Читайте также:
- Создаем на JavaScript приложение записи заметок в реальном времени
- С 0,4с до 0,005с: оптимизация UI-эффекта с помощью бинарного поиска
- Почему я полюбила тестирование и теперь советую его вам
Читайте нас в Telegram, VK и Дзен
Перевод статьи Arnold Gunter: Only 2% of Developers Know These 7 JavaScript String Methods





