2016-11-20 43 views
0

我有時會看到節點代碼聲明的變量類型,如:如何變化的NodeJS靜態類型的工作

const st: string = "hello world"; 

什麼版本節點的支持呢?我在哪裏可以找到關於此的文檔(這是「靜態類型」?)? 我可以在方法變量中使用它嗎?

+1

做這個文件有'.ts'結尾,因爲這看起來像打字稿。 –

回答

1

這不是JavaScript,它是TypeScript;請參閱文檔鏈接。 TypeScript基本上是JavaScript,其上覆蓋了一個類型系統。然後它由TypeScript編譯器編譯爲JavaScript。 (編譯器也傾向於支持新的JavaScript特性,然後它們在JavaScript引擎中得到本地支持,比如V8中的JavaScript引擎。例如,TypeScript的編譯器目前支持public class fields,這些編譯器尚未在JavaScript規範中,但可能在某些舞臺)。

我可以在方法變量中使用它嗎?

是的,絕對:

function foo() : void { 
    let a : number = 42; 
    let q : string = "Life, the Universe, and Everything"; 

    // ... 
} 

如果你想分配給"glarb"a,因爲a被聲明爲number的打字稿編譯器會給你一個錯誤。同樣,試圖從函數返回某些東西會引發錯誤,因爲函數被聲明爲具有void返回類型(不返回任何內容)。

編譯爲:

function foo() { 
    var a = 42; 
    var q = "Life, the Universe, and Everything"; 
    // ... 
} 

...它可以在任何JavaScript環境中運行。