TypeScript 筆記
TypeScript 安裝
Type Annotation 型別註記
型別註記的目的
如何註記
- 使用
=>
- 這裡指的是 TypeScript 的
=>
而非 ES6 =>
的箭頭函
- typeScript 的
=>
通常用在函式表達式上
龜毛一點…
any
這種 type 是造成型別混亂的根源,typescript 裡會無法監督
Delayed Initialization 延遲初始
- 先定義變數後,不直接指派值,而是當程式碼執行到後面才開始指派
- 該變數會無條件被視為
any
型別
- 為了避免有
any
型別的狀態發生,應當對這些被指派 Nullable Types 的變數或者不立即被指派值的變數做型別註記
具有型別但是預設為“空”值或 Nullable Types
- 未確定變數被正式丟入合法的值之前的這段空間,不能使用該變數
- 需要特別使用
union
將該變數註記為 <YOUR-TYPE> | <nullable-type>
的格式
建議:除非可以直接指派值,否則初始化時,就指派 Nullable Type 的值
Assertion 斷言
- 型別斷言只能用在 Expression 表達式上
- 因為 Expression 表達式會返回值,斷言會覆蓋編譯器對該值的型別推論
Assertion 的寫法
Annotation註記與 Assertion斷言的差異
- 型別註記大多用在宣告階段(變數、物件與函式..等等),規範其內容型別
- 型別斷言只能用在 Expression 表達式上
- 型別斷言會覆蓋型別推論的結果告訴編譯器,開發者預期限制的型別為何
Reference