TypeScript[1]のModuleはクラスや変数をひとまとめにして参照できる範囲を制限できる。 これによって名前が重複する問題などを解決できる。
使い方はまとめたい部分をModuleブロックで囲み、外部からアクセスさせたい要素はexport修飾子をつける。
module TestModule{ const CONST:string = "const1"; export const CONST_EXP:string = "constExp" class MyClass{ prm:number; } export class ExportedClass{ prm:number; } } alert(TestModule.CONST); // エラー alert(TestModule.CONST_EXP); new TestModule.ExportedClass(); new TestModule.MyClass(); // エラー
入れ子もOK。その時もmodule自体を公開するならexportが必要。
module TestModule{ export module ExportModule{ export var innerExportVar:number = 12; } } alert(TestModule.ExportModule.innerExportVar); // => 12
Moduleには他にもいろいろな使い方があるらしい。しかし、node.jsやrequire.jsなどに関連したModuleの詳細は個人でのゲーム開発にはあまり関係ないのでこのwikiの趣旨からはずれるため、ここでは省略。
(This host) = https://njf.jp