TypeScript
TypeScript 是一種程式語言,它為 JavaScript 添加了靜態型別檢查。
TypeScript 是 JavaScript 的超集,這意味著 JavaScript 中可用的所有內容在 TypeScript 中也可用,並且每個 JavaScript 程式在語法上都是合法的 TypeScript 程式。此外,TypeScript 和 JavaScript 的執行時行為是相同的。
然而,TypeScript 會新增編譯時型別檢查,執行關於不同型別如何使用和組合的規則。這可以捕獲 JavaScript 中僅在執行時才會遇到的各種程式設計錯誤。
一些型別規則是從 JavaScript 推斷出來的。例如,在下面的程式碼中,TypeScript 推斷 myVariable 是一個字串,並且不允許將其重新分配給其他型別。
js
let myVariable = "Hello World";
myVariable = 1;
// Error:
// Type 'number' is not assignable to type 'string'.
TypeScript 還允許程式設計師註解他們的程式碼,例如,指示函式的引數型別或物件的屬性型別。
ts
function add(left: number, right: number): number {
return left + right;
}
add("hello", "world");
// Error:
// Argument of type 'string' is not assignable to parameter of type 'number'.
編譯後,型別註解會被移除,編譯後的輸出就是 JavaScript,這意味著它可以在任何 JavaScript 執行時中執行。