#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());
Комментариев нет:
Отправить комментарий