ファイルモジュール
グローバル名前空間
デフォルトでは、新しいTypeScriptファイルにコードを入力すると、コードは_グローバルの_名前空間に追加されます。デモとして、foo.ts
ファイルを考えてみましょう:
同じプロジェクトで新しいファイルbar.ts
を作成したとします。TypeScriptの型システムは、この新しいファイルの中で、変数foo
をグローバルに利用することを許可します:
言うまでもありませんが、グローバル名前空間を使うと、名前が競合する危険があります。次に説明するファイルモジュールを使用することをお勧めします。
ファイルモジュール
外部モジュールとも呼ばれます。TypeScriptファイルにimport
またはexport
が存在する場合、そのファイル内に閉じたローカルスコープが作成されます。上で説明したfoo.ts
を次のように変更してみます(export
に注目してください):
私達はもはや、グローバルのfoo
を持っていません。これは、次のように新しいファイル bar.ts
を作成することで実際に確認できます:
bar.ts
でfoo.ts
のものを使いたい場合_明示的にインポートする必要があります_。これを以下の更新版のbar.ts
に示します:
bar.ts
でimport
を使うと、他のファイルから取り込むことができるだけでなく、ファイルbar.ts
をモジュールとして認識するので、bar.ts
での宣言はグローバル名前空間を汚染しません。
外部モジュールを使用するTypeScriptファイルをJavaScriptにコンパイルできるようにするには、module
オプションをtsconfig.jsonで設定する必要があります。
最終更新