比方說,我有一個接口:Typescript是否支持「子集類型」?
interface IUser {
email: string;
id: number;
phone: string;
};
然後我有期望類型的子集(或完全匹配)的功能。也許它會傳遞一個完整的對象,使它只會通過{email: "[email protected]"}
。我希望類型檢查器允許這兩個。
例子:
function updateUser(user: IUser) {
// Update a "subset" of user attributes:
$http.put("https://stackoverflow.com/users/update", user);
}
不打字稿支持這樣的行爲嗎?我可以發現它非常有用,特別是像Redux這樣的範例。
爲了澄清,我們的目標是:
- 避免重新編寫界面和所有屬性手動設置爲可選。
- 避免分配意外的屬性(如拼寫錯誤)。
- 避免使用命令邏輯,如
if
語句,這會喪失編譯時類型檢查的好處。
UPDATE:打字稿已經宣佈mapped types支持,要解決這個問題一旦公佈。
不是'Partial'你正在尋找? –
當我問這個問題時,他們不存在。之後,我在添加到TS後添加了一個鏈接。 – Rick