diff options
Diffstat (limited to 'files/ru/web/javascript/reference/global_objects/symbol/match/index.html')
-rw-r--r-- | files/ru/web/javascript/reference/global_objects/symbol/match/index.html | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/files/ru/web/javascript/reference/global_objects/symbol/match/index.html b/files/ru/web/javascript/reference/global_objects/symbol/match/index.html new file mode 100644 index 0000000000..135fbcc2ab --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/symbol/match/index.html @@ -0,0 +1,113 @@ +--- +title: Symbol.match +slug: Web/JavaScript/Reference/Global_Objects/Symbol/match +tags: + - ECMAScript6 + - JavaScript + - Свойство + - Символы +translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/match +--- +<div>{{JSRef}}</div> + +<p><code><strong>Symbol.match</strong></code> — известный символ, определяющий соответствие строки регулярному выражению. Этот метод вызывается функцией {{jsxref("String.prototype.match()")}}.</p> + +<div>{{js_property_attributes(0,0,0)}}</div> + +<h2 id="Описание">Описание</h2> + +<p>Данный метод также используется для того, чтобы определить, обладает ли объект поведением регулярного выражения. Например, методы {{jsxref("String.prototype.startsWith()")}}, {{jsxref("String.prototype.endsWith()")}} и {{jsxref("String.prototype.includes()")}} проверяют, является ли первый аргумент регулярным выражением, и бросают {{jsxref("TypeError")}}, если это так. Соответственно, если символ <code>match</code> установлен в <code>false</code> (или имеет {{Glossary("Falsy", "ложное")}} значение) — это говорит о том, что объект не предназначен для использования в качестве регулярного выражения.</p> + +<h2 id="Примеры">Примеры</h2> + +<h3 id="Блокировка_проверки_isRegExp">Блокировка проверки i<code>sRegExp</code></h3> + +<p>Следующий код выбросит {{jsxref("TypeError")}}:</p> + +<pre class="brush: js">"/bar/".startsWith(/bar/); // Бросает TypeError, так как /bar/ является + // регулярным выражением и Symbol.match не изменён.</pre> + +<p>Несмотря на это, если вы зададите свойству <code>Symbol.match</code> значение <code>false</code>, проверка <code>isRegExp</code> (которая использует свойство <code>match</code>) покажет, что объект не является регулярным выражением — как следствие, методы <code>startsWith</code> и <code>endsWith</code> не станут бросать <code>TypeError</code>.</p> + +<pre class="brush: js">var re = /foo/; +re[Symbol.match] = false; +"/foo/".startsWith(re); // true +"/baz/".endsWith(re); // false +</pre> + +<h2 id="Спецификации">Спецификации</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Комментарий</th> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-symbol.match', 'Symbol.match')}}</td> + <td>{{Spec2('ES6')}}</td> + <td>Изначальное определение.</td> + </tr> + </tbody> +</table> + +<h2 id="Поддержка_браузерами">Поддержка браузерами</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Возможность</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatNo}}</td> + <td>{{ CompatGeckoDesktop(40) }}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Возможность</th> + <th>Android</th> + <th>Chrome for Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{ CompatGeckoMobile(40) }}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="См._также">См. также</h2> + +<ul> + <li>{{jsxref("Symbol.replace")}}</li> + <li>{{jsxref("Symbol.search")}}</li> + <li>{{jsxref("Symbol.split")}}</li> +</ul> |