EndsWith: примеры (JAVASCRIPT)

Использование метода endsWith для проверки окончаний строк
Раздел: Строки, Поиск
endsWith(searchString, length?): boolean

Функция endsWith в JavaScript

Метод endsWith() проверяет, заканчивается ли строка символами указанными в аргументе. Этот метод полезен при проверке расширений файлов, суффиксов или завершающих частей текста.

Аргументы метода

  • searchString (обязательный): подстрока, которую нужно найти в конце исходной строки.
  • length (необязательный): ограничивает длину строки, в которой производится поиск. Если указан, метод проверяет окончание строки, обрезанной до этой длины.

Возвращаемое значение

Метод возвращает true, если строка заканчивается указанной подстрокой, и false в противном случае. Регистр символов учитывается.

Примеры применения endsWith

Проверка расширения файла

const filename = 'document.pdf';
console.log(filename.endsWith('.pdf'));
true

Использование второго параметра

const str = 'Hello world';
console.log(str.endsWith('Hello', 5));
true

Регистрозависимость

const text = 'JavaScript';
console.log(text.endsWith('script'));
console.log(text.endsWith('Script'));
false
true

Похожие методы в JavaScript

startsWith()

Проверяет начало строки. Применяется для проверки префиксов или протоколов.

includes()

Определяет наличие подстроки в любом месте строки. Полезен для общего поиска.

match() и test()

Регулярные выражения предоставляют более гибкий поиск. Метод test() объекта RegExp работает быстрее для сложных паттернов.

Метод endsWith() стоит использовать для простых проверок окончаний, когда не нужны регулярные выражения.

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

Передача нестрокового аргумента

'text'.endsWith(null);
false

Некорректный второй параметр

'hello'.endsWith('lo', 0);
false

Совпадение за пределами длины

const str = 'web.js';
console.log(str.endsWith('.js', 3));
false

Изменения в спецификации

Метод endsWith() был добавлен в ECMAScript 2015 (ES6). Изменений в работе метода с момента добавления не было, но в более поздних версиях стандарта уточнена обработка крайних случаев, например, корректное приведение аргументов к строковому типу.

Расширенные примеры

Проверка нескольких расширений

Пример javascript
function isImageFile(filename) {
  return ['.png', '.jpg', '.gif'].some(ext => filename.endsWith(ext));
}
console.log(isImageFile('photo.jpg'));
console.log(isImageFile('document.pdf'));
true
false

Динамическая проверка длины

Пример javascript
const checkSuffix = (str, suffix, maxLength) => {
  return str.endsWith(suffix, maxLength);
};
console.log(checkSuffix('program.js', '.js', 10));
true

Использование в цепочках методов

Пример javascript
const urls = ['site.com/page.html', 'site.com/script.js'];
const jsFiles = urls.filter(url => url.endsWith('.js'));
console.log(jsFiles);
['site.com/script.js']

Аналоги в других языках

Python: endswith()

text = 'example.py'
print(text.endswith('.py'))
True

PHP: str_ends_with()

$filename = 'image.jpg';
echo str_ends_with($filename, '.jpg');
1

C#: EndsWith()

string path = @"C:\\file.txt";
bool result = path.EndsWith(".txt");
True

В отличие от JavaScript, Python и PHP имеют аналогичные методы, а в C++ и C таких встроенных функций нет.

JS endsWith function comments

En
EndsWith Determines whether a string ends with the characters of a specified string