別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。
内部モジュールと外部モジュールというのがある。
内部モジュールは、C#のnamespaceやJavaのpackageなんかと同じように名前の衝突をさけたりするもの。外部モジュールは、外部ファイルから参照やロード(動的ロード?)するためのもの。と、勝手に認識してる(^^;)
内部モジュールは次のような感じ。
module hoge {
// class bはexportしてないのでモジュール内でしか使えない。
class b {
public message(text:string):void {
alert(text);
}
}
export class a {
private bbb:b; // モジュール内なので使える
constructor() {
this.bbb = new b();
}
public message(text:string):void {
alert(text);
}
public messageB():void {
this.bbb.message("messageB");
}
}
}
var aaa:hoge.a;
aaa = new hoge.a();
aaa.message("にょ"); // "にょ"って表示される
var bbb:hoge.b; // class bをexportしていないのでエラーになる。
外部モジュールは、CommonJSやAMDの仕様に合わせたモジュールとしてコンパイルされるものらしい。
これは必要になったときに調べよーwww
コメント