使用 TypeScript 的 JS 專案

TypeScript 中的型別系統在處理程式碼庫時具有不同級別的嚴格程度

  • 一種僅基於 JavaScript 程式碼推斷的型別系統
  • 透過 JSDoc 在 JavaScript 中實現增量型別檢查
  • 在 JavaScript 檔案中使用 // @ts-check
  • TypeScript 程式碼
  • 啟用了 strict(嚴格模式)的 TypeScript

每一個步驟都代表著向更安全的型別系統邁進,但並非每個專案都需要這種級別的驗證。

TypeScript 與 JavaScript

這是指當你使用支援 TypeScript 的編輯器時,它可以提供諸如自動補全、跳轉到符號以及重新命名等重構工具。可以在主頁上找到包含 TypeScript 外掛的編輯器列表。

透過 JSDoc 在 JS 中提供型別提示

.js 檔案中,型別通常是可以被推斷出來的。當型別無法推斷時,可以使用 JSDoc 語法來指定它們。

宣告之前的 JSDoc 註釋將被用於設定該宣告的型別。例如:

js
/** @type {number} */
var x;
 
x = 0; // OK
x = false; // OK?!
Try

你可以在 JSDoc 支援的型別中找到完整支援的 JSDoc 模式列表。

@ts-check

上述程式碼示例中的最後一行在 TypeScript 中會引發錯誤,但在 JS 專案中預設不會。要啟用 JavaScript 檔案中的錯誤檢查,請在 .js 檔案的第一行新增 // @ts-check,這樣 TypeScript 就會將其作為錯誤丟擲。

js
// @ts-check
/** @type {number} */
var x;
 
x = 0; // OK
x = false; // Not OK
Type 'boolean' is not assignable to type 'number'.2322Type 'boolean' is not assignable to type 'number'.
Try

如果你有許多 JavaScript 檔案想要新增錯誤檢查,可以切換到使用 jsconfig.json。你可以透過在檔案中新增 // @ts-nocheck 註釋來跳過對某些檔案的檢查。

TypeScript 可能會給出你不同意的錯誤,在這種情況下,你可以在前一行新增 // @ts-ignore// @ts-expect-error 來忽略特定行的錯誤。

js
// @ts-check
/** @type {number} */
var x;
 
x = 0; // OK
// @ts-expect-error
x = false; // Not OK
Try

要了解更多關於 TypeScript 如何解釋 JavaScript 的資訊,請閱讀TypeScript 如何對 JS 進行型別檢查

TypeScript 文件是一個開源專案。歡迎透過 傳送 Pull Request 來幫助我們改進這些頁面 ❤

此頁面的貢獻者
OTOrta Therox (6)
660x20  (1)

最後更新:2026 年 3 月 27 日