91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

TypeScript 的 extends 條件類型

小云
113
2023-09-21 10:16:44
欄目: 編程語言

在TypeScript中,extends關鍵字不僅可以用于類的繼承,還可以用于條件類型的定義。

條件類型是一種在類型系統中進行條件判斷的機制。通過使用extends關鍵字,我們可以根據給定的類型條件來確定最終的類型。條件類型的語法如下:

T extends U ? X : Y

其中,T是待判斷的類型,U是用于判斷的類型,X和Y是根據判斷結果分別返回的類型。

下面是一個簡單的示例:

type TypeName<T> =
T extends string ? "string" :
T extends number ? "number" :
T extends boolean ? "boolean" :
T extends undefined ? "undefined" :
T extends Function ? "function" :
"object";
type T1 = TypeName<string>;  // "string"
type T2 = TypeName<"hello">;  // "string"
type T3 = TypeName<123>;  // "number"
type T4 = TypeName<true>;  // "boolean"
type T5 = TypeName<undefined>;  // "undefined"
type T6 = TypeName<() => void>;  // "function"
type T7 = TypeName<object>;  // "object"
type T8 = TypeName<number[]>;  // "object"

在上面的示例中,我們定義了一個條件類型TypeName,它根據給定的類型T判斷其類型名稱,并返回相應的字符串類型。根據類型的不同,返回的結果會分別是"string"、“number”、“boolean”、“undefined”、“function"和"object”。

通過使用extends關鍵字,我們可以根據不同的類型條件來確定最終的返回類型。如果T是string類型,那么最終的返回類型就是"string";如果T是number類型,那么最終的返回類型就是"number",以此類推。對于無法匹配的類型,最終的返回類型就是"object"。

需要注意的是,extends關鍵字在條件類型中的使用類似于JavaScript中的三元條件運算符。

0
南皮县| 芒康县| 长泰县| 和静县| 长沙县| 东兰县| 津市市| 福州市| 达拉特旗| 西乌珠穆沁旗| 宝应县| 玉龙| 龙泉市| 星座| 勃利县| 南川市| 萝北县| 邹城市| 彩票| 宁城县| 马关县| 岑巩县| 三穗县| 彭水| 黄陵县| 马龙县| 峨眉山市| 婺源县| 达拉特旗| 松原市| 永清县| 泾阳县| 永顺县| 嫩江县| 达州市| 红安县| 郎溪县| 玛曲县| 海伦市| 射洪县| 屏东市|