TypeScript 簡單型別
TypeScript 支援一些您可能知道的簡單型別(原始型別)。
JavaScript 和 TypeScript 中有三個主要的原始型別。
boolean
- true 或 false 值number
- 整數和浮點數值string
- 文字值,例如 “TypeScript Rocks”
在 JavaScript 和 TypeScript 的後續版本中,還有 2 種不太常見的原始型別。
bigint
- 整數和浮點數值,但允許比number
型別更大或更小的負數和正數。symbol
用於建立全域性唯一識別符號。
型別賦值
建立變數時,TypeScript 有兩種主要的方式分配型別
- 顯式
- 隱式
在下面的兩個示例中,firstName
的型別都是 string
顯式型別
顯式 - 寫出型別
let firstName: string = "Dylan";
自己動手試一試 »
顯式型別賦值更容易閱讀,也更具目的性。
隱式型別
隱式 - TypeScript 會根據賦給它的值“猜測”型別
let firstName = "Dylan";
自己動手試一試 »
注意:讓 TypeScript “猜測”值的型別稱為推斷。
隱式賦值強制 TypeScript推斷該值。
隱式型別賦值更簡短,輸入更快,並且通常在開發和測試時使用。
型別賦值錯誤
如果資料型別不匹配,TypeScript 會丟擲錯誤。
隱式型別賦值會使 firstName
作為 string
的性質不那麼明顯,但兩者都會引發錯誤
JavaScript不會為不匹配的型別丟擲錯誤。
無法推斷
TypeScript 可能無法始終正確推斷變數的型別。在這種情況下,它會將型別設定為 any
,這將停用型別檢查。
示例
// 隱式的 any,因為 JSON.parse 不知道它返回什麼型別的資料,所以它可以是“任何”東西...
const json = JSON.parse("55");
// 大多數人期望 json 是一個物件,但它也可以是字串或數字,就像這個例子一樣
console.log(typeof json);
自己動手試一試 »
可以透過在 TypeScript 專案的 tsconfig.json
中將 noImplicitAny
設定為選項來停用此行為。這是一個 JSON 配置檔案,用於自定義 TypeScript 的行為。
注意:您可能會看到原始型別大寫,例如 Boolean
。
boolean !== Boolean
在本教程中,您只需知道使用小寫值即可,大寫值用於非常特定的情況。