Learn JavaScript

includes() - метод для проверки наличия подстроки в строке в JavaScript

includes() проверяет, содержит ли строка другую строку.

Метод возвращает true или false, поэтому он очень удобен для простых проверок без лишних сравнений.

Синтаксис

str.includes(searchString)
str.includes(searchString, position)

Метод вызывается у строки и возвращает boolean.

Как работает includes()

const text = "JavaScript";

console.log(text.includes("Script")); // true
console.log(text.includes("Java"));   // true
console.log(text.includes("Python")); // false

Метод ищет подстроку внутри строки и сообщает, нашёл её или нет.

Позиция начала поиска

Во втором аргументе можно указать, с какого индекса начинать поиск.

const text = "JavaScript";

console.log(text.includes("a", 0)); // true
console.log(text.includes("a", 2)); // true
console.log(text.includes("J", 1)); // false

Это полезно, если нужно искать не с самого начала строки.

Регистр важен

includes() чувствителен к регистру.

const text = "JavaScript";

console.log(text.includes("java")); // false
console.log(text.includes("Java")); // true

Если нужен поиск без учёта регистра, строку обычно заранее приводят к одному формату.

const text = "JavaScript";

console.log(text.toLowerCase().includes("java")); // true

Когда это полезно

includes() удобно использовать, когда:

  • нужно проверить наличие слова или части строки
  • важно получить сразу true или false
  • хочется написать более читаемый код, чем через indexOf()

Пример:

const email = "user@gmail.com";

console.log(email.includes("@")); // true

includes() и indexOf()

Раньше для такой проверки часто использовали indexOf().

const text = "JavaScript";

console.log(text.indexOf("Script") !== -1); // true
console.log(text.includes("Script"));       // true

Оба варианта работают, но includes() читается проще, когда нужна именно проверка “есть или нет”.

Если подстрока пустая

Пустая строка считается найденной.

const text = "hello";

console.log(text.includes("")); // true

Это нормальное поведение метода.

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

Забывать про регистр

const text = "JavaScript";

console.log(text.includes("javascript")); // false

Если нужен поиск без учёта регистра, лучше заранее использовать toLowerCase() или toUpperCase().

Ждать индекс вместо true/false

const text = "hello";

console.log(text.includes("e")); // true

includes() возвращает не индекс, а булево значение.

Если нужен именно индекс, используют indexOf().

Быстрая памятка

  • includes(searchString) проверяет наличие подстроки
  • метод возвращает true или false
  • можно указать позицию начала поиска
  • поиск чувствителен к регистру
  • для простой проверки наличия строки includes() удобнее, чем indexOf()

Коротко

includes() - это метод строки в JavaScript, который проверяет, есть ли внутри строки нужная подстрока. Он особенно удобен, когда нужен простой и читаемый ответ в виде true или false.