Learn JavaScript

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

endsWith() проверяет, заканчивается ли строка указанной подстрокой.

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

Синтаксис

str.endsWith(searchString)
str.endsWith(searchString, length)

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

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

const text = "JavaScript";

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

Метод проверяет только конец строки, а не любую её часть.

Второй аргумент

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

const text = "JavaScript";

console.log(text.endsWith("Java", 4));   // true
console.log(text.endsWith("Script", 4)); // false

Это не индекс начала поиска, как у некоторых других методов, а длина рассматриваемой части строки.

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

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

const text = "JavaScript";

console.log(text.endsWith("script")); // false
console.log(text.endsWith("Script")); // true

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

const text = "JavaScript";

console.log(text.toLowerCase().endsWith("script")); // true

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

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

  • нужно проверить суффикс строки
  • важно узнать, заканчивается ли строка нужным текстом
  • хочется написать более читаемую проверку, чем через slice()

Пример:

const file = "photo.jpg";

console.log(file.endsWith(".jpg")); // true

endsWith() и includes()

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

const text = "JavaScript";

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

Если важно именно окончание строки, endsWith() подходит лучше.

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

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

const text = "hello";

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

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

Путать второй аргумент с индексом

const text = "JavaScript";

console.log(text.endsWith("Java", 4)); // true

Здесь 4 означает длину учитываемой части строки, а не индекс начала поиска.

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

const text = "JavaScript";

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

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

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

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

Коротко

endsWith() - это метод строки в JavaScript, который проверяет, заканчивается ли строка нужной подстрокой. Он особенно удобен для работы с суффиксами, расширениями файлов и другими строками, где важно именно окончание.