選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP How to W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

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推斷該值。

隱式型別賦值更簡短,輸入更快,並且通常在開發和測試時使用。


w3schools CERTIFIED . 2022

獲得認證!

完成 TypeScript 模組,做練習,參加考試,成為 W3Schools 認證!!

$45 報名

型別賦值錯誤

如果資料型別不匹配,TypeScript 會丟擲錯誤。

示例

let firstName: string = "Dylan"; // 型別 string
firstName = 33; // 嘗試將值重新分配給不同的型別
自己動手試一試 »

隱式型別賦值會使 firstName 作為 string 的性質不那麼明顯,但兩者都會引發錯誤

示例

let firstName = "Dylan"; // 推斷為 string 型別
firstName = 33; // 嘗試將值重新分配給不同的型別
自己動手試一試 »

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
在本教程中,您只需知道使用小寫值即可,大寫值用於非常特定的情況。


TypeScript 練習

透過練習來測試自己

練習

TypeScript 有兩種主要方式分配型別



        

開始練習


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援