TypeScript の名前空間の概要
名前空間 (前のバージョンの TypeScript では "内部モジュール" と呼ばれていました) は、コードを編成して分類する TypeScript 固有の方法であり、関連するコードをグループ化することができます。 名前空間を使用すると、ビジネス ルールに関連する変数、関数、インターフェイス、またはクラスを 1 つの名前空間に、セキュリティに関連するものを別の名前空間にグループ化できます。
名前空間内のコードは、グローバル スコープから名前空間のスコープに移ります。 この配置は、グローバル名前空間でのコンポーネントの名前の競合を回避するのに役立ち、類似したコンポーネント名を使用する可能性がある分散開発チームで作業する場合に有益です。
たとえば、namespace A
と namespace B
の両方で、functionName
という名前の関数が共有されているとします。 その関数が含まれている名前空間を参照せずに関数にアクセスしようとすると、エラーになります。これは、変数宣言はグローバル名前空間にありますが、2 つの関数は該当する名前空間のスコープに含まれているためです。
名前空間を使用して、以下を実行できます。
- グローバル スコープのコードの量を減らして、"グローバル スコープの汚染" を制限します。
- 名前にコンテキストを与えて、名前が競合する可能性を減らします。
- 再利用性を向上させます。