TypeScript Array.from in IE11



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

tsc -t es5 prog.ts

也就是说,当我在prog.js内部查看时,我仍然在同一位置看到Array.from。在IE11中使用prog.js会抱怨如下:

对象不支持属性或方法"from"

为什么TypeScript不将Array.从转换为一些ES5替代方案?

有没有办法把它设置成这样?

我建议使用core-js,因为您将获得更多的polyfill,并且不必逐段polyfill API。如果您所需要/想要的只是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/es/array'; // to get just array polyfills for example

这是一个可以polyfill的方法。

无法polyfill的语言功能将被transpile(如果可能的话,在选定的TypeScript目标上)。

Array.from在TypeScript v1.8中还不存在,因此编译程序保留这部分代码。

根据这个链接,IE上不支持Array.from,所以你必须实现一个polyfill(请参阅链接,polyfill在中)。

最新更新