JS Core

Методы строк

Научиться работать со строками: поиск, замена, разрезание, объединение, форматирование — понимая, что строки неизменяемы.

Начальный (Beginner)
Нужно знать:Методы чисел

Кратко

Строки в JavaScript неизменяемы (immutable). Методы возвращают новые строки, не меняя оригинал. Основные: length, includes, indexOf, slice, replace, split, join, toUpperCase, trim.


Подробно

Строки immutable: const str = 'hello'; str.toUpperCase(); // 'HELLO' (оригинал не меняется!)

Основные методы: .length — длина .includes('lo') — содержит ли подстроку .indexOf('lo') — индекс подстроки (-1 если нет) .startsWith('he') — начинается ли с .endsWith('lo') — заканчивается ли на

Извлечение: .slice(1, 3) — символы с индекса 1 по 2 (третий не включается) .slice(2) — с индекса 2 до конца .slice(-3) — последние 3 символа

Преобразование: .toUpperCase() — в верхний регистр .toLowerCase() — в нижний регистр .trim() — убрать пробелы по краям .trimStart() / trimEnd() — только начало/конец

Поиск и замена: .replace('old', 'new') — замена первого вхождения .replaceAll('old', 'new') — замена всех вхождений .split(',') — разбить строку в массив Array.join(', ') — объединить массив в строку

Шаблонные строки (backticks): Привет, ${name}! — интерполяция Много строк — многострочная строка


Ментальная модель

Строка — как каменная скрижаль. Вы не можете стереть букву — можно только создать новую скрижаль с изменениями. Методы строк — это「создатели новых скрижалей».


Примеры

**Самый простой:**

javascript
const name = 'Анна';
console.log(name.length);       // 4
console.log(name.toUpperCase()); // 'АННА'
console.log(name.includes('н')); // true

Базовые свойства и методы строк.

**Простой:**

javascript
const email = '  User@Example.COM  ';
const clean = email.trim().toLowerCase();
console.log(clean); // 'user@example.com'

Цепочка методов: trim убирает пробелы, toLowerCase приводит к нижнему регистру.

**Реальный пример:**

javascript
function slugify(text) {
  return text
    .toLowerCase()
    .trim()
    .replace(/\s+/g, '-')
    .replace(/[^a-z0-9-]/g, '');
}

console.log(slugify('  Hello World!  ')); // 'hello-world'
console.log(slugify('JavaScript 101'));   // 'javascript-101'

Реальный пример: превращение заголовка в URL-friendly slug.


Частые ошибки

**Неправильно:** Думать, что строки изменяемы

**Почему:** str[0] = 'H' — не работает! Строки immutable.

**Правильно:** Строки immutable. Создавайте новую: str.replace('h', 'H').

**Неправильно:** Забывать, что slice не включает конечный индекс

**Почему:** 'hello'.slice(1, 3) → 'el' (индексы 1 и 2, третий не включается).

**Правильно:** slice(begin, end) — end не включается.

**Неправильно:** Путать split/join

**Почему:** split превращает строку в массив. join — массив в строку.

**Правильно:** split → массив. join → строка.


Важно запомнить

  • Строки immutable — методы возвращают новые
  • includes/indexOf — поиск подстроки
  • slice — извлечение части строки
  • split/join — строка ↔ массив
  • trim убирает пробелы по краям

Связь

Назад: Вы знаете числа (J21) — теперь у вас есть похожие инструменты для текста.

Вперёд: Следующий урок (J23) — try/catch: корректная обработка ошибок.

Материалы курса JS Core — PROlab Academy.