Array.from是一个ES6功能。当我在打字稿使用它,并编译成目标ES5也不会改变它:typecript IE11中的Array.from
tsc -t es5 prog.ts
即当我看到里面prog.js我仍然看到Array.from在同一个地方。在IE11使用prog.js抱怨如下:
对象不“从”
支持属性或方法为什么不打字稿转换Array.from在一些ES5替代?
有没有办法设置它,所以它呢?
Array.from是一个ES6功能。当我在打字稿使用它,并编译成目标ES5也不会改变它:typecript IE11中的Array.from
tsc -t es5 prog.ts
即当我看到里面prog.js我仍然看到Array.from在同一个地方。在IE11使用prog.js抱怨如下:
对象不“从”
支持属性或方法为什么不打字稿转换Array.from在一些ES5替代?
有没有办法设置它,所以它呢?
这是一种方法,可以是polyfilled。
无法多重填充的语言功能被转发(如果可能的话,在选定的TypeScript目标上)。
Array.from
尚未存在于TypeScript v1.8中,因此编译器保留原来的这部分代码。
根据这linkArray.from
是不支持在IE浏览器,所以你必须实现一个polyfill(请参阅链接,polyfill在)。
感谢Guillaume。这为我清除了很多。 – chriskelly
我会推荐使用core-js
,因为你会得到更多的polyfill,并且不必逐段填充API。如果你需要/想要的是Array.from
,那么通过一切手段将它从MDN网站上撕掉,但是你可以选择性地只使用core-js
导入你需要的polyfills。
使用npm安装core-js
...
> npm install --save core-js
...然后在.ts
...
import 'core-js' // to get the whole thing
或
import 'core-js/es-6/array'; // to get just array polyfills for example
谢谢。你的小费帮了我很多。 BTW:实际上,它是'import'core-js/es6/array';' –
它是一种方法,其可polyfilled。不能被填充的语言特征将被转译。 – estus
我明白了。我不知道。我期望transpiling将所有代码转换为一些ES5 equivilant。但是,是的,它可以很容易地被填充。谢谢。发表一个答案,我会接受 – chriskelly