Массив TypeScript.от в IE11
массив.от является функцией ES6. Когда я использую его в TypeScript и компилирую в ES5 target, он не изменяет его:
tsc -t es5 prog.ts
т. е. когда я смотрю внутрь prog.js я все еще вижу массив.от в том же месте. Использование prog.js в IE11 жалуется следующим образом:
объект не поддерживает свойство или метод 'с'
почему TypeScript не преобразует массив.от в некоторых в ES5 альтернатива?
есть ли способ настроить его таким образом?
3 ответов
Это метод, который может быть polyfilled.
языковые функции, которые не могут быть заполнены, транспилируются (если это возможно на выбранном целевом объекте TypeScript).
Я бы рекомендовал использовать core-js
как вы получите много больше полифилов и не придется полифил Апис по частям. Если все, что вам нужно / хотите, это Array.from
, затем непременно сорвите его с сайта MDN, но вы можете выборочно импортировать только нужные вам поля с помощью core-js
.
используя НПМ установить core-js
...
> npm install --save core-js
...затем в .ts
...
import 'core-js' // to get the whole thing
или
import 'core-js/es6/array'; // to get just array polyfills for example
на Array.from
нет в машинопись В1.8 поэтому компилятору листьев-это часть кода.
по этому ссылке Array.from
не поддерживается в IE, поэтому вам нужно реализовать polyfill (см. ссылку, polyfill находится в).