Java= to TS)から、インポートされた型の周りの{...}
を省略しました。
import DiscriminatorMappingData from './DiscriminatorMappingData';
の代わりに
import {DiscriminatorMappingData} from './DiscriminatorMappingData';
TypeScript-クラスをマップ値として保存しますか? を参照してください。
私はドキュメントを読みましたが、あまり理解していませんでした。ファイルから1つのタイプのみが必要な場合は、{}
を省略できることだけを考えました。
。
それで、違いは何ですか、簡単に言えば?
2つのimport
宣言の違いは、TypeScript仕様でカバーされています。 §11.3.2から インポート宣言 :
フォームのインポート宣言
import d from "mod";
インポート宣言とまったく同じです
import { default as d } from "mod";
したがって、モジュールのdefault
エンティティとして(export default
宣言で)エクスポートされたものをインポートする場合は、中括弧onlyを省略します。モジュールごとに1つしか存在できません)。 import
宣言で指定した名前は、インポートされたエンティティのエイリアスになります。
他の何かをインポートするときは、それがただ1つのエンティティであっても、中括弧を指定する必要があります。
TypeScriptハンドブックの Default exports セクションには、いくつかの例があります。
これは、destructruring
形式のインポートです。基本的に、インポートするすべてのエンティティをグループ化するfrom
定義ファイル。
他のプログラミング言語に精通している場合は、破壊の概念に精通している可能性があります。実際、destructuring
はes6
の一部として assignments の形式で追加されました。
インポートの再構築のサポートは、最初に このGithubチケット のTypeScriptで提案されましたが、その後すべてのes6 modules
を追跡していた このチケット の下にグループ化されました。