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, который проверяет, заканчивается ли строка нужной подстрокой. Он особенно удобен для работы с суффиксами, расширениями файлов и другими строками, где важно именно окончание.