--- title: String.prototype.includes() slug: Web/JavaScript/Reference/Global_Objects/String/includes tags: - JavaScript - Method - Prototype - Reference - String - Довідка - метод translation_of: Web/JavaScript/Reference/Global_Objects/String/includes ---
Метод includes() визначає чи може один рядок бути знайденим всередині іншого, повертаючи, відповідно, true або false.
{{EmbedInteractiveExample("pages/js/string-includes.html", "shorter")}}
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
str.includes(searchString[, position])
searchStringstr.position {{optional_inline}}searchString. (За замовчуванням 0).true, якщо шуканий рядок знайдено де-завгодно всередині наданого рядка; інакше, false.
Цей метод дозволяє визначити чи знаходиться один рядок всередині іншого.
Метод includes() є чутливим до регістру. Для прикладу, наступний вираз поверне false:
'Синій кит'.includes('синій'); // вертає false
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
console.log(str.includes('')); // true
Цей метод був доданий до специфікації ECMAScript 2015 і може бути недоступним у всіх реалізаціях JavaScript.
Однак, ви можете легко розробити поліфіл для цього методу:
if (!String.prototype.includes) {
String.prototype.includes = function(search, start) {
'use strict';
if (search instanceof RegExp) {
throw TypeError('first argument must not be a RegExp');
}
if (start === undefined) { start = 0; }
return this.indexOf(search, start) !== -1;
};
}
| Специфікація |
|---|
| {{SpecName('ESDraft', '#sec-string.prototype.includes', 'String.prototype.includes')}} |
Таблиця сумісності на цій сторінці, згенерована з структурованих даних. Якщо ви хочете внести свій вклад в дані, будь ласка, ознайомтесь з https://github.com/mdn/browser-compat-data і надішлість нам запит на додавання даних.
{{Compat("javascript.builtins.String.includes")}}
У Firefox 18-39 назва цього методу була contains(). Він був перейменований на includes() у bug 1102219 у зв'язку з наступною причиною:
Повідомлялося, що деякі веб-сайти, які використовують MooTools 1.2 не працюють на Firefox 17. Ця версія MooTools перевіряла чи існує метод String.prototype.contains() та, якщо ні, то MooTools додає власну функцію.
З введенням цієї функції у Firefox 17, поведінка цієї перевірки змінювалася таким чином, що ставала причиною непрацездатності коду на основі реалізації методу String.prototype.contains() від MooTools. В результаті реалізація була відключена у Firefox 17, а String.prototype.contains() був доступний на одну версію пізніше, у Firefox 18, коли налагодження зв'язків з MooTools призвело до випуску MooTools версії 1.2.6.
MooTools 1.3 примусово запускає власну версію методу String.prototype.contains(), тож, веб-сайти, що покладаються на неї, не повинні ламатися. Однак, зауважте, що сигнатура цього методу відразняється для MooTools 1.3 і ECMAScript 2015 (на місці другого аргумента). Пізніше, MooTools 1.5+ змінив сігнатуру у відповідності до стандарту ES2015.
У Firefox 48 метод String.prototype.contains() було видалено. Використовуйте тільки String.prototype.includes().