JavaScript · справочник
Метод String.includes()
includes() проверяет, содержит ли строка указанный фрагмент, и возвращает логическое значение. Метод не использует регулярные выражения.
Поиск текста
Сравнение чувствительно к регистру. Для поиска без учёта регистра обе строки приводят к одному виду.
const title = 'Основы JavaScript';
title.includes('Java'); // true
title.toLowerCase().includes('javascript'); // true
Начальная позиция
Второй аргумент задаёт индекс начала поиска. Это бывает полезно, если первая часть строки служебная.
const path = '/docs/javascript/includes';
path.includes('javascript', 6); // true
Частые ошибки
- Не учитывать регистр.
- Передавать регулярное выражение.
- Путать со includes массива.
- Не нормализовать пользовательский ввод.
Практика
Сделай фильтр списка уроков по введённой строке без учёта регистра и пробелов по краям.
Связанные темы
Поиск текста без неожиданных совпадений
String.includes проверяет точное вхождение подстроки и учитывает регистр. Поэтому «CSS» и «css» — разные запросы. Для пользовательского поиска обе строки обычно приводят к одному регистру и убирают внешние пробелы. Метод не изменяет исходную строку и возвращает boolean.
Второй аргумент определяет позицию, с которой начинается поиск. Если важно проверить только начало или конец, используй startsWith или endsWith — намерение будет понятнее. Для сложных правил, нескольких вариантов написания или границ слов может понадобиться регулярное выражение, но простую задачу не стоит усложнять.
Разберём рабочий пример
const title = "Урок по JavaScript";
const query = "javascript";
const found = title
.toLocaleLowerCase("ru")
.includes(query.toLocaleLowerCase("ru").trim());
console.log(found); // trueНе копируй пример вслепую: измени данные, убери одну строку и посмотри, как меняется результат. Такой эксперимент быстрее показывает роль каждой части кода, чем простое чтение.
Проверка перед использованием
- Учтён регистр символов.
- Пользовательский ввод очищен через trim.
- Для начала и конца рассмотрены специальные методы.
- Регулярное выражение не используется без необходимости.
Попробуй в браузере
Измени код и нажми «Запустить». Результат появится ниже.