--- title: Symbol.match slug: Web/JavaScript/Reference/Global_Objects/Symbol/match tags: - ECMAScript 2015 - JavaScript - Symbol - Властивість - Символ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/match ---
{{JSRef}}

Добревідомий символ Symbol.match визначає збіг регулярного виразу з рядком. Ця функція викликається методом {{jsxref("String.prototype.match()")}}.

{{EmbedInteractiveExample("pages/js/symbol-match.html")}}

Опис

Ця функція також використовується, щоб з'ясувати, чи об'єкти поводяться як регулярні вирази. Наприклад, методи {{jsxref("String.prototype.startsWith()")}}, {{jsxref("String.prototype.endsWith()")}} та {{jsxref("String.prototype.includes()")}} перевіряють, чи є перший аргумент регулярним виразом, та викидають {{jsxref("TypeError")}}, якщо це так. Отже, якщо символ match має значення false (або хибне значення), він вказує, що об'єкт не призначений для використання в якості регулярного виразу.

{{js_property_attributes(0,0,0)}}

Приклади

Відключення перевірки isRegExp

Наступний код викине помилку {{jsxref("TypeError")}}:

'/bar/'.startsWith(/bar/);

// Викидає TypeError, оскільки /bar/ є регулярним виразом,
// а Symbol.match не змінений.

Однак, якщо ви присвоїте Symbol.match значення false, перевірка isRegExp (яка використовує властивість match) вкаже, що об'єкт не є об'єктом регулярного виразу. Як наслідок, методи startsWith та endsWith не викидатимуть TypeError.

var re = /foo/;
re[Symbol.match] = false;
'/foo/'.startsWith(re); // true
'/baz/'.endsWith(re);   // false

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

Специфікація
{{SpecName('ESDraft', '#sec-symbol.match', 'Symbol.match')}}

Сумісність з веб-переглядачами

{{Compat("javascript.builtins.Symbol.match")}}

Див. також