簡體   English   中英

從打字稿中的聯合類型中排除泛型

[英]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 = stringtype 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM