Проверьте, определен ли matchAll () в JavaScript - PullRequest
1 голос
/ 23 января 2020

Я использую Chrome и выполняю фрагмент кода, где matchAll () используется в JavaScript. Однако я хочу использовать этот фрагмент кода только в том случае, если определена функция matchAll (), которая не предназначена для Inte rnet Explorer 11. И поэтому я поставил галочку на это, как показано ниже:

if (typeof matchAll === 'function') {execute code using matchAll() }

По какой-то причине эта проверка не работает, и я просто пытаюсь выполнить код, когда matchAll определен как функция. Любая помощь будет оценена. Спасибо!

Ответы [ 2 ]

3 голосов
/ 23 января 2020

Я ожидаю, что вы ищете String.prototype.matchAll(), а не просто функцию matchAll()

Вы можете проверить это следующим образом:

if (typeof String.prototype.matchAll === 'function') { ... }
2 голосов
/ 23 января 2020

matchAll будет проверять переменную, определенную в текущей или глобальной области видимости. Что вы на самом деле хотите проверить, так это если этот метод используется на прототипе String.

Попробуйте вместо этого:

if (typeof String.prototype.matchAll === 'function') {execute code using matchAll() }
...