Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

String.prototype.includes()

Это экспериментальная технология, часть предложения Harmony (ECMAScript 6).
Поскольку спецификация этой технологии ещё не стабилизировалась, проверьте таблицу совместимости её использования в различных браузерах. Также обратите внимание, что синтаксис и поведение экспериментальной технологии могут быть изменены в будущих версиях браузеров в соответствии с изменениями в спецификации.

Сводка

Метод includes() определяет, находится ли одна строка внутри другой, возвращая, соотвественно, true или false.

Синтаксис

str.includes(searchString[, position])

Параметры

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

Описание

Этот метод позволяет вам определять, содержит ли строка другую строку.

Примеры

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

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

console.log(str.includes('Быть'));            // true
console.log(str.includes('вопрос'));          // true
console.log(str.includes('несуществующий'));  // false
console.log(str.includes('Быть', 1));         // false
console.log(str.includes('БЫТЬ'));            // false

Полифилл

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

if (!String.prototype.includes) {
  String.prototype.includes = function() {
    'use strict';
    return String.prototype.indexOf.apply(this, arguments) !== -1;
  };
}

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

Спецификация Статус Комментарии
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'String.prototype.includes' в этой спецификации.
Стандарт Изначальное определение.

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

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка 41 40 (40) Нет Нет 9
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка Нет Нет 40.0 (40) Нет Нет Нет

String.prototype.contains

В Firefox с версии 18 по версию 39, этот метод назывался «contains». Он был переименован в «includes» в замечании баг 1102219 по следующей причине:

Как было сообщено, некоторые сайты, использующие MooTools 1.2, ломаются в Firefox 17. Эта версия MooTools проверяет существование метода String.prototype.contains() и, если он не существует, добавляет свой собственный. С введением этого метода в Firefox 17, поведение этой проверки изменилось таким образом, что реализация String.prototype.contains(), основанная на MooTools, сломалась. В результате это изменение было отключено в Firefox 17. Метод String.prototype.contains() доступен в следующей версии Firefox — Firefox 18.

MooTools 1.3 принудительно использует свою собственную версию метода String.prototype.contains(), так что использующие его веб-сайты не должны ломаться. Тем не менее, следует отметить, что сигнатура метода в MooTools 1.3 отличается от сигнатуры метода в ECMAScript 6 (во втором аргументе). В MooTools 1.5+ сигнатура изменена для соответствия стандарту ES6.

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

Метки документа и участники

 Внесли вклад в эту страницу: burashka, Mingun
 Обновлялась последний раз: burashka,