JavaScript新增型別語法Type Syntax

banq發表於2022-03-10

以往Javascript與Java一樣,透過JSDoc註釋來註釋提示函式方法中涉及的引數型別,例如,使用JSDoc的程式碼如下:

/**
 * @param {string}  p1 - A string param.
 * @param {string=} p2 - An optional param (Closure syntax)
 * @param {string} [p3] - Another optional param (JSDoc syntax).
 * @param {string} [p4="test"] - An optional param with a default value
 * @return {string} This is the result
 */
function stringsStringStrings(p1, p2, p3, p4) {
    // TODO
}


這裡涉及到p1,p2,p3,p4四個引數,其引數型別都是string的,這些說明都是在函式上方的JSDoc註釋中說明的。
現在新的提議改進了,沒有必要這麼麻煩:

function stringsStringStrings(p1: string, p2?: string, p3?: string, p4 = "test"): string {
    // TODO
}


沒有了冗長的註釋,都壓縮到函式方法的引數中了。
看來JS比Java要走得更快些。JS更加靜態化了。
具體解釋這裡
 

相關文章