Array.from 是ES6的一项功能。当我在TypeScript中使用它并编译到ES5目标时,它不会改变它:
tsc -t es5 prog.ts
即。当我查看prog.js时,我仍然在同一个地方看到 Array.from 。在IE11中使用prog.js抱怨如下:
对象不支持来自'
的属性或方法
为什么TypeScript不会将 Array.from 转换为某些ES5替代方案?
有没有办法设置它呢?
答案 0 :(得分:10)
我建议使用core-js
,因为您将获得更多的polyfill,并且不必逐步填充polyfill。如果您需要/想要的只是Array.from
,那么无论如何都要从MDN网站上删除它,但您可以使用core-js
选择性地导入所需的polyfill。
使用npm安装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
答案 1 :(得分:5)
这是一种可以polyfilled的方法。
转换无法填充的语言功能(如果可能,在选定的TypeScript目标上)。
答案 2 :(得分:3)
TypeScript v1.8中尚不存在Array.from
,因此编译器将离开这部分代码。
根据此link Array.from
在IE上不受支持,因此您必须实现polyfill(请参阅链接,polyfill在其中)。