Symbol.match

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

Опис

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

Атрибути поля Symbol.match
Доступний для запису ні
Доступний для переліку ні
Доступний для налаштування ні

Приклади

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

Наступний код викине помилку 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

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

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

BCD tables only load in the browser

Див. також