[英]Infer type of value of corresponding key
讓我們考慮以下泛型:
type KV<T, K extends keyof T> = {
key: K; // any key of T
value: T[K]; // corresponding value type of the key
}
KV<MyType, "myKey">
代表一個基於 MyType 的{key: "myKey", value: ...}
object。
我們可以這樣使用它:
// random type
type MyType = {
a: number;
b: string;
}
// below, how could we infer K from the 'key: "a"' instead of setting it manually?
const kv : KV<MyType, "a"> = {
key: "a",
value: 47
}
kv
是有效的 object,但我們必須指定密鑰兩次。 我們如何更新 KV 以自動推斷密鑰?
提前致謝!
你能試一下嗎
type KV<T> = {
[K in keyof T]: {
key: K; // any key of T
value: T[K]; // corresponding value type of the key
}
}[keyof T]
並像使用它一樣
const kv: KV<MyType> = {
key: "a",
value: 47
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.