以下の内容はhttps://m-hiyama-memo.hatenablog.com/entry/2022/11/04/085335より取得しました。


TypeScript内部モジュール

今は「名前空間〈namespace〉」に変わり、これも推奨はされてないようだが、内部モジュールという仕掛けもある。グローバルモジュール(include方式)も内部モジュールも、ESM以前のナンチャッテモジュールのメカニズムを採用している。

手動で書いていた

var foo = foo || {};
var = function() {
  // ...
}

を次の形で書く。

module foo {
  // ...
}

実際のコンパイル結果は:

var foo;
(function (foo) {
 }) ( foo || (foo = {}) );

var の繰り返し選言が可能であることを利用して、定義のマージができる。いわゆる「開いたモジュール」を実現する。どこからでもいつでもモジュールに追加ができる。

ESM方式とは別だが、ファイル内に階層的名前空間を書けること、別ファイルから同一内部モジュールを定義できることなどがメリット(同時にデメリット)だろう。




以上の内容はhttps://m-hiyama-memo.hatenablog.com/entry/2022/11/04/085335より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14