Кратко
Строки в 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}! — интерполяция
Много
строк — многострочная строка
Ментальная модель
Строка — как каменная скрижаль. Вы не можете стереть букву — можно только создать новую скрижаль с изменениями. Методы строк — это「создатели новых скрижалей».
Примеры
**Самый простой:**
const name = 'Анна';
console.log(name.length); // 4
console.log(name.toUpperCase()); // 'АННА'
console.log(name.includes('н')); // trueБазовые свойства и методы строк.
**Простой:**
const email = ' User@Example.COM ';
const clean = email.trim().toLowerCase();
console.log(clean); // 'user@example.com'Цепочка методов: trim убирает пробелы, toLowerCase приводит к нижнему регистру.
**Реальный пример:**
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: корректная обработка ошибок.