Массив 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 находится в).