Typescript_使用 Extract 提取 Union 聯合型別
要聲明一個變量可以屬於多個允許的型別時,可以使用 Union。
let aaa: number | string
a = 20
a = 'Elsen'
// 正確
Extract 選擇 Union 型別
僅提取類型是非常簡單的。
type Add = {
type: 'add';
id: string;
value: string;
}
type Remove = {
type: 'remove';
id: string;
}
type Action = Add | Remove;
type addType = Extract<Action, {type: 'add'}>;
你可以創建一個映射型別來自動為 union 的每個元素執行此操作。
type OfUnion<T extends {type: string}> = {
[P in T['type']]: Extract<T, {type: P}>
}
這篇筆記解釋了如何在 TypeScript 中使用聯合型別,以及如何使用 Extract
工具類型從聯合型別中提取特定的型別。這對於根據某些屬性過濾聯合型別的成員非常有用。