includes() для строк в JavaScript

includes() проверяет, есть ли один текст внутри другого.

let message = 'Я изучаю JavaScript';

console.log(message.includes('JavaScript'));

Результат:

true

В строке есть текст ‘JavaScript’, поэтому метод вернул true.

Что такое includes()

includes() - это метод строки, который возвращает true или false.

Если искомый текст найден, будет true. Если не найден - false.

let text = 'Привет, Анна';

console.log(text.includes('Анна'));
console.log(text.includes('Олег'));

Результат:

true
false

Синтаксис

Основная запись выглядит так:

string.includes(searchString);

searchString - текст, который нужно найти.

let email = 'admin@mail.com';

console.log(email.includes('@'));

Результат:

true

Поиск слова

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

let title = 'Основы работы со строками';

console.log(title.includes('строками'));

Результат:

true

Методу не важно, где именно находится текст: в начале, середине или конце строки.

Поиск символа

Искать можно не только слова, но и отдельные символы.

let email = 'admin@mail.com';

console.log(email.includes('@'));
console.log(email.includes('#'));

Результат:

true
false

Так можно сделать простую проверку, есть ли в строке нужный символ.

Регистр имеет значение

includes() учитывает регистр букв.

let text = 'JavaScript';

console.log(text.includes('Script'));
console.log(text.includes('script'));

Результат:

true
false

‘Script’ и ‘script’ для JavaScript - разные строки.

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

let text = 'JavaScript';
let search = 'script';

console.log(text.toLowerCase().includes(search.toLowerCase()));

Результат:

true

Поиск с позиции

Вторым аргументом можно указать позицию, с которой начинать поиск.

string.includes(searchString, position);

Например, начнем поиск не с начала строки, а с индекса 5.

let text = 'JavaScript JavaScript';

console.log(text.includes('JavaScript', 5));

Результат:

true

Первое слово метод пропустил, но нашел второе.

let text = 'JavaScript JavaScript';

console.log(text.includes('JavaScript', 11));

Результат:

false

С позиции 11 начинается вторая часть слова, поэтому полного совпадения уже нет.

includes() и indexOf()

Если нужно просто понять, есть ли текст в строке, обычно удобнее использовать includes().

let text = 'Я изучаю JavaScript';

console.log(text.includes('JavaScript'));

Результат:

true

indexOf() тоже может помочь, но он возвращает индекс найденного текста или -1.

let text = 'Я изучаю JavaScript';

console.log(text.indexOf('JavaScript'));

Результат:

9

Поэтому для простой проверки includes() читается понятнее.

Итого

includes() проверяет, есть ли текст внутри строки.

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