String.prototype.endsWith()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Сводка

Метод endsWith() позволяет определить, заканчивается ли строка символами указанными в скобках, возвращая, соответственно, true или false.

Синтаксис

str.endsWith(searchString[, length])

Параметры

searchString

Символы, искомые в конце строки.

length

Необязательный параметр. Позволяет искать внутри строки, обрезая её по диапазону; по умолчанию равен длине строки.

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

true если данные символы находятся в конце строки; в противном случае, false.

Описание

Этот метод позволяет определять, заканчивается ли строка искомыми символами. Метод чувствителен к регистру.

Примеры

Пример: использование метода endsWith()

js
var str = "Быть или не быть, вот в чём вопрос.";

console.log(str.endsWith("вопрос.")); // true
console.log(str.endsWith("быть")); // false
console.log(str.endsWith("быть", 16)); // true

Полифил

Этот метод был добавлен к спецификации ECMAScript 6 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:

js
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;
    },
  });
}

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

Specification
ECMAScript Language Specification
# sec-string.prototype.endswith

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также