JavaScript метод String.prototype.endsWith()

Определение и применение

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

Чтобы определить, совпадает ли начало данной строки с указанной строкой, или символом, Вы можете воспользоваться методом startsWith().

Поддержка браузерами

Спецификация: ecma262

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьjavascript.builtins.String.endsWith
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
endsWith✓41✓12✓17✓28✓9✓36✓17✓24✓9✓3.0✓37✓9

поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31

JavaScript синтаксис

JavaScript
// поиск осуществляется с начала строки по всей её длине
str.endsWith( searchString );

// поиск осуществляется с начала строки по заданной длине строки
str.endsWith( searchString, length );

Спецификация

ECMAScript: String.prototype.endsWith()

Значения параметров

String: справочные сведения
Параметр Описание
searchString Искомая строка, или символ. Обязательный параметр.
Если искомая строка представляет собой RegExp, возникает ошибка TypeError.
length Необязательная конечная граница проверяемой части строки; по умолчанию — длина строки. После отбрасывания дробной части ограничивается диапазоном от 0 до длины. Отрицательная граница означает 0: непустая искомая строка даст false, пустая — true. Исходная строка не изменяется.

Пустая искомая строка даёт true при любой допустимой позиции. Другие значения преобразуются в строки; без первого аргумента ищется "undefined".

Примеры, попробуйте сами

В примере «Окончание строки и ограничение длины» показан результат вызова метода.

Окончание строки и ограничение длины

Измените исходную строку или аргумент метода и сравните результат после запуска.

index.html
HTML
<!doctype html>
<html lang="ru">
  <head>
    <meta charset="UTF-8" />
    <title>Окончание строки и ограничение длины</title>
  </head>
  <body>
    <p>Результат выполнения выводится в консоль.</p>
  </body>
</html>
main.js
JavaScript
var myString = 'Hello world' // инициализируем строковую переменную

console.log(myString.endsWith('d')) // true
console.log(myString.endsWith('world')) // true
console.log(myString.endsWith('World')) // false

console.log(myString.endsWith('world', -100)) // false (отрицательное значение)
console.log(myString.endsWith('world', 100)) // true (значение больше длины строки, поиск по всей)
console.log(myString.endsWith('Hello', 6)) // false (захватываем пробел, длина строки 6)
console.log(myString.endsWith('Hello', 5)) // true

console.log('abc'.endsWith('', -1)) // true

Пустая строка и границы поиска

Измените конечную границу. Отрицательная превращается в ноль, но пустая искомая строка всё равно найдена.

index.html
HTML
main.js
JavaScript
const text = 'JavaScript'
console.log(text.endsWith('Script')) // true
console.log(text.endsWith('Java', 4)) // true
console.log(text.endsWith('Java', -1)) // false
console.log(text.endsWith('', -1)) // true
console.log(text.endsWith('', 100)) // true
console.log('Исходная строка:', text)