Это экспериментальная технология, часть предложения Harmony (ECMAScript 6).
Поскольку спецификация этой технологии ещё не стабилизировалась, проверьте таблицу совместимости её использования в различных браузерах. Также обратите внимание, что синтаксис и поведение экспериментальной технологии могут быть изменены в будущих версиях браузеров в соответствии с изменениями в спецификации.
Сводка
Метод endsWith()
определяет, заканчивается ли строка символами другой строки, возвращая, соотвественно, true
или false
.
Синтаксис
str.endsWith(searchString[, position])
Параметры
searchString
- Символы, искомые в конце данной строки.
position
- Необязательный параметр. Искать внутри данной строки, как если бы эта строка была указанной длины; по умолчанию установлен в реальную длину строки, обрезается по диапазону, устанавливаемому длиной этой строки.
Описание
Этот метод позволяет вам определять, заканчивается ли или нет строка символами другой строки.
Примеры
Пример: использование метода endsWith()
var str = 'Быть или не быть, вот в чём вопрос.'; console.log(str.endsWith('вопрос.')); // true console.log(str.endsWith('быть')); // false console.log(str.endsWith('быть', 16)); // true
Полифилл
Этот метод был добавлен к спецификации ECMAScript 6 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:
if (!String.prototype.endsWith) { Object.defineProperty(String.prototype, 'endsWith', { value: function(searchString, position) { var subjectString = this.toString(); if (position === undefined || position > subjectString.length) { position = subjectString.length; } position -= searchString.length; var lastIndex = subjectString.indexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; } }); }
Спецификации
Спецификация | Статус | Комментарии |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) Определение 'String.prototype.endsWith' в этой спецификации. |
Стандарт | Изначальное определение. |
Совместимость с браузерами
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | 41 | 17 (17) | 12 | Нет | 9 |
Возможность | Android | Chrome для Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | Нет | 36 | 17.0 (17) | 12 | Нет | Нет |