中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
洛阳市| 榆树市| 南阳市| 攀枝花市| 建昌县| 岚皋县| 长兴县| 黄平县| 通辽市| 吉林省| 武邑县| 宕昌县| 南开区| 彭州市| 象州县| 广汉市| 高清| 虞城县| 嵊泗县| 甘孜| 平果县| 浦江县| 苗栗县| 襄汾县| 马尔康县| 崇信县| 宜黄县| 六盘水市| 子长县| 南京市| 南安市| 宜良县| 东兴市| 南乐县| 酉阳| 泽普县| 吐鲁番市| 昭通市| 罗田县| 内乡县| 堆龙德庆县|