Страницы

Поиск по вопросам

среда, 4 марта 2020 г.

Как проверить поддержку браузером spread operator'а?

#javascript #ecmascript_6


Возможно ли в JavaScript проверить, поддерживает ли браузер spread operator? Будет
ли в этом браузере работать следующая конструкция?

var array = [...arg];

    


Ответы

Ответ 1



в данном случае поможет eval и try..catch при попытке выполнить код с использованием spread оператора в браузере, который его не поддерживает будет кинуто исключение об ошибке синтаксиса, поэтому проверяющая функция может выглядеть так: function checkSpread() { try { return eval('[...[]]==""'); } catch (e) { return false; } } console.log(checkSpread()); Текущий сниппет, например в IE11 вернет false, а в Chrome - true Вместо eval так же можно использовать конструктор Function function checkSpread() { try { var func = new Function('return [...[]]'); return func() == ''; } catch (e) { return false; } } console.log(checkSpread());

Комментариев нет:

Отправить комментарий