在 typescript 使用命名空間

ex1.ts

namespace mylib
{
    exports function fibo(x:int):int
    {
        if(x==1||x==2)
        {
            return 1;
        }
        return fibo(x-1)+fibo(x-2);
    }
}

ex2.ts

import fibo = mylib.fibo;

function main()
{
    console.log(fibo(10));
}
main();

ex3.ts

///<reference path="./ext1.ts" />
var fibo = mylib.fibo;

function main()
{
    console.log(fibo(10));
}
main();
//兩種方式都可以

編譯輸出爲一個文件,使用 es5 或以上支持setter getter

node “C:\Users\Administrator\AppData\Roaming\npm\node_modules\typescript\bin\tsc” -t es5 --outFile ex.js ex1.ts ex2.ts

執行

node ex.js

結果:

55

使用命名空間,輸出必須是一個文件,就是編譯器將其調用者和被調用者合併了。很類似C編譯器將靜態庫和調用者合併的情況輸出一個exe

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章