IE11中的TypeScript Array.from

时间:2016-04-14 12:03:04

标签: javascript typescript ecmascript-6

Array.from 是ES6的一项功能。当我在TypeScript中使用它并编译到ES5目标时,它不会改变它:

tsc -t es5 prog.ts

即。当我查看prog.js时,我仍然在同一个地方看到 Array.from 。在IE11中使用prog.js抱怨如下:

  

对象不支持来自'

的属性或方法

为什么TypeScript不会将 Array.from 转换为某些ES5替代方案?

有没有办法设置它呢?

3 个答案:

答案 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在其中)。