[解決済み] なぜ `downlevelIteration` はデフォルトでオンになっていないのですか?
質問
ES5でスプレッド演算子を使用する場合
...
を使用して
Iterator
を
Array
を使用するとエラーが表示されます。
-downlevelIteration
というコンパイラーオプションが表示される。一旦オンにすると、スプレッド演算子は完璧に動作するようです。
なぜこれを指定する必要があるのでしょうか?tslib から放出される生成コードが増える以外に、有効にした場合のデメリットや制限はあるのでしょうか。
もう一つの例です。 Nの配列を動的に作成する。 (例:3)の配列を作成します。
[...Array(3).keys()] // output: [0, 1, 2]
のエラーメッセージ
tsc
:
IterableIterator' 型は配列型や文字列型ではありません。コンパイラオプション '--downlevelIteration' を使用し、イテレータの反復処理を許可してください。
TypeScript Playgroundでコードとエラーを編集して表示する。
どのように解決するのですか?
を読んだ後
リリースノート
という記事と
TypeScriptにおけるES3/ES5のためのダウンレベルイテレーション
, 私はこの質問に対する答えは
downlevelIteration
が無効になっているのは、TypeScriptが(古いバージョンのJavascriptをサポートするために)互換性コードのコンパイルをどのように処理したいかを(設定によって)決定する必要があるためです。
記事中の長い説明で明らかなように、TypeScriptに必要なヘルパー関数をインライン化するか(単純だが、プロダクションのバンドルサイズが大きくなる可能性がある)、TypeScriptで
tslib
を依存関係として使用し、その外部メソッドを呼び出すようにTypeScriptを設定するかどうかを決定します。
を読むことを強くお勧めします。 TypeScriptにおけるES3/ES5のためのダウンレベルイテレーション を読むことを強くお勧めします...そしておそらくあなたの最初の問題に対する別の解決策になるでしょう。
関連
-
[解決済み] Typescript のプリミティブ型:"number" と "Number" の違い(TSC は大文字と小文字を区別しない)?
-
[解決済み] タイプスクリプトのパイプ(|)の意味とは?
-
[解決済み] モジュールと名前空間 - Import vs Require Typescript
-
[解決済み] Visual Studio コード自動インポート
-
[解決済み] Typescript で Enum を制限付きキータイプとして使用する
-
[解決済み] spec/testフォルダを使用したtsconfigのセットアップ
-
[解決済み] TypeScript Mapファイルとは?
-
[解決済み] Enumのインポート方法
-
[解決済み] ESLint - TypeScriptの "no-unused-vars "を設定する。
-
[解決済み] Promise.all()をTypescriptで使用する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptには、与えられた範囲内の範囲を生成する "range() "のようなメソッドがありますか?
-
[解決済み】ES6マップ/セットをマージする最も簡単な方法は?
-
[解決済み] 文字列ユニオンから文字列配列へ
-
[解決済み] tsconfig.jsonのtargetは何のためにあるのですか?
-
[解決済み] Typescript のプリミティブ型:"number" と "Number" の違い(TSC は大文字と小文字を区別しない)?
-
[解決済み] TSにおける文字列列列挙型と文字列リテラル型の相違点
-
[解決済み] Angular 2で相対パスが非常に長いインポートを回避する方法とは?
-
[解決済み] Typescriptで<T>は何を意味するのですか?
-
[解決済み] TypeScript Mapファイルとは?
-
[解決済み] ジェネリック関数のTypescript ReturnType