一. 概覽
函數注釋主要分為顯示注釋、類型推斷、隱式的any,現在來詳細總結下
二. 顯示注釋
舉個例子
let str1: string = 'hello,jack'let intArr: number[] = [1,2,3]
let strArr:Array<string> = ['1','2','3']function test(a: number,b: number): number {return a + b
}
-
為什么類型是用的小寫?
在TypeScript中,使用string或String主要取決于你的需求。兩者都可以用于基礎類型或構造函數,具體取決于你想如何使用它們;
如果你只是聲明一個包含字符串的變量,使用string更為合適,因為這更符合類型的定義。然而,如果你需要使用String類的特定功能(例如,處理編碼或正則表達式),你需要使用String。
一般來說,對于基礎類型,使用string更為常見和推薦,而對于構造函數或特定的類方法,使用String更合適
三. 類型推斷
通過賦值讓ts對變量進行類型推斷;
類型推斷是省略類型顯示定義的方式,不需要顯示定義,也能得到正確的類型
- 基礎類型
let a = 123//推斷成let a: number = 123
a推斷成number
- 數組類型
let arr = [1,'aa',true]// 推斷成
let arr: (string | number | boolean)[] = [1,'aa',true]
- 對象類型
let obj1 = {a: 1,b: 'f',c: true
}
// 推斷成
let obj1: {a: number;b: string;c: boolean;
} = {a: 1,b: 'f',c: true}
可選屬性
type TypeName = {id: number,
age: number,
married?:boolen
}
// 或者
type TypeInfoArr = [string ,number ,boolean?]
如果你需要一個特定屬性集合的obj定義的話,你需要顯示的給obj進行類型定義
四. 隱式any
如果沒有定義類型,且無法進行類型推斷,且非嚴格模式,那么隱式注解為any
function test(a,b) {return a + b
}
其中的a,b變量傳參就是隱式的any