亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
内乡县| 龙川县| 会宁县| 行唐县| 尼玛县| 大方县| 察雅县| 普定县| 双峰县| 德州市| 黎川县| 抚顺市| 安塞县| 永靖县| 沿河| 泗水县| 北川| 武义县| 双江| 团风县| 龙陵县| 瑞丽市| 兴文县| 东兰县| 峨眉山市| 凤冈县| 库尔勒市| 榆社县| 巴彦淖尔市| 射阳县| 霍邱县| 房产| 石狮市| 西华县| 新津县| 南投市| 石台县| 高尔夫| 宣威市| 灵山县| 新疆|