[英]Exclude generic from union type in typescript
我有一個聯合類型如下:
type countries = "USA" | "Canada" | "UK" | "Australia" | string;
我想從這個聯合中刪除string
,以便只保留字符串文字。
理想情況下,它與字符串文字無關(而不是使用 Pick<T, K> 之類的東西),以便可以在父級更新值。 我已經嘗試了 Omit 和 Exclude 實用程序類型,但沒有成功。
這可能嗎?
不幸的是,這是不可能的。 "USA" | "Canada" | "UK" | "Australia" | string
類型"USA" | "Canada" | "UK" | "Australia" | string
"USA" | "Canada" | "UK" | "Australia" | string
"USA" | "Canada" | "UK" | "Australia" | string
是一個字符串。 所以沒有什么可以排除或選擇的。
type countries = string
和type countries = "USA" | "Canada" | "UK" | "Australia" | string;
type countries = "USA" | "Canada" | "UK" | "Australia" | string;
都是相同類型的字符串
您必須刪除字符串類型才能創建文字類型的聯合:
type countries = "USA" | "Canada" | "UK" | "Australia";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.