From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../global_objects/string/includes/index.html | 127 +++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 files/ru/web/javascript/reference/global_objects/string/includes/index.html (limited to 'files/ru/web/javascript/reference/global_objects/string/includes') diff --git a/files/ru/web/javascript/reference/global_objects/string/includes/index.html b/files/ru/web/javascript/reference/global_objects/string/includes/index.html new file mode 100644 index 0000000000..a766377bb8 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/includes/index.html @@ -0,0 +1,127 @@ +--- +title: String.prototype.includes() +slug: Web/JavaScript/Reference/Global_Objects/String/includes +tags: + - JavaScript + - Prototype + - Reference + - String + - метод +translation_of: Web/JavaScript/Reference/Global_Objects/String/includes +--- +
{{JSRef}}
+ +

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

+ +

Синтаксис

+ +
str.includes(searchString[, position])
+ +

Параметры

+ +
+
searchString
+
Строка для поиска в данной строке.
+
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
+
+ +

Полифилл

+ +

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

+ +
if (!String.prototype.includes) {
+  String.prototype.includes = function(search, start) {
+    'use strict';
+    if (typeof start !== 'number') {
+      start = 0;
+    }
+
+    if (start + search.length > this.length) {
+      return false;
+    } else {
+      return this.indexOf(search, start) !== -1;
+    }
+  };
+}
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES6', '#sec-string.prototype.includes', 'String.prototype.includes')}}{{Spec2('ES6')}}Изначальное определение.
{{SpecName('ESDraft', '#sec-string.prototype.includes', 'String.prototype.includes')}}{{Spec2('ESDraft')}} 
+ +

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

+ +

{{Compat("javascript.builtins.String.includes")}}

+ +

String.prototype.contains

+ +

 

+ +

В Firefox с версии 18 по версию 39, этот метод назывался «contains». Он был переименован в «includes» в замечании {{bug(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 2015 (во втором аргументе). В MooTools 1.5+ сигнатура изменена для соответствия стандарту ES2015.

+ +

 

+ +

В Firefox 48, метод String.prototype.contains() был удалён. Следует использовать только String.prototype.includes().

+ +

См. также

+ + -- cgit v1.2.3-54-g00ecf