2016-04-14 15 views
4

配列.fromはES6の機能です。私はtypescriptですでそれを使用すると、それはそれを変更しないターゲットES5にコンパイルするとき:typescript Array.from in IE11

tsc -t es5 prog.ts 

つまり、私は内部prog.jsを見たとき、私はまだ同じ場所にArray.fromを参照してください。

オブジェクトは、なぜ一部のES5にしてArray.fromを変換活字いない

「から」プロパティまたはメソッドをサポートしていません。次のようにIE11でprog.jsを使用するには、文句を言い代替?

設定する方法はありますか?

+0

にそれができる方法であるcore-jsをインストールするnpmを使用し

...

> npm install --save core-js 

...ポリフィルド。 polyfilledすることができない言語機能は移行されます。 – estus

+0

私は参照してください。それは知らなかった。私は、すべてのコードをいくつかのES5の等価物に変換することを世話することを期待していました。しかし、はい、簡単にpolyfilledことができます。ありがとう。回答を投稿すると私は受け入れるでしょう – chriskelly

答えて

3

polyfilledの方法です。

polyfilledできない言語機能は、(可能であれば選択されたTypeScriptターゲットで)変換されます。

2

Array.fromはまだTypeScript v1.8には存在しないので、コンパイラはこのコード部分をそのまま残します。

これによるとlinkArray.fromはIEではサポートされていないため、ポリフィルを実装する必要があります(ポリフィルのリンクを参照)。

+1

ありがとうGuillaume。これは私のために多くをクリアします。 – chriskelly

7

さらに多くのポリフィルが得られ、ポリフィリングAPIを細かくする必要がないので、core-jsを使用することをお勧めします。 Array.fromが必要な場合は、MDNサイトからリッピングしますが、core-jsを使用して必要なポリフィルだけを選択的にインポートすることができます。その後、あなたの.ts ...

import 'core-js' // to get the whole thing 

または

import 'core-js/es-6/array'; // to get just array polyfills for example 
+1

ありがとうございます。あなたのヒントは私を助けてくれました。実際には、それは 'import 'core-js/es6/array'です; –