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