名前空間
名前空間は、JavaScriptで一般的に使われる次のようなパターンと同じことを実現できる構文です。
基本的に、something || (something = {})
は、無名関数function(something) {}
が何かを既存オブジェクト(something ||
部分)に追加するか、新しいオブジェクト( || (something = {})
の部分)を作って何かを追加することを可能にします。これが意味することは、このように何らかの分岐で分割された2つのブロックを持つことができるということです。
このパターンは、グローバルな名前空間を汚染しないようにJavaScriptでよく使われるパターンです。ファイルモジュールの場合、グローバルの名前空間の汚染を心配する必要はありません。しかし、それでも、一連の関数を論理的にグループ化することに役立ちます。TypeScriptは、namespace
キーワードを使って、次のようにコードをグループ化する手段を提供しています:
namespace
キーワードは、先ほど見たのと同じJavaScriptを生成します:
一点、注意していただきたいことは、名前空間を入れ子にすることができるということです。なので、Utility
の下にMessaging
名前空間を追加するために、namespace Utility.Messaging
のようなことができます。
大抵のプロジェクトでは、namespace
ではなく、ファイルモジュールを使うことを推奨します。namespace
は単に試したり、古いJavaScriptコードを移植するために使うことを推奨します。
最終更新