有人可以向我解釋這個嗎?
如果物件中的鍵相同,Typescript 可以檢測沖突。那為什么不允許額外的鑰匙呢?
打字稿游樂場
type Keys = "1" | "2" | "3" | "4" | "5";
// Works
type Foo = {
[key in Keys]: string;
};
// Errors
type Bar = {
extraKey : string;
[key in Keys]: string;
}
type Jar = {
[key in Keys]: string;
extraKey : string;
}
uj5u.com熱心網友回復:
由于extraKey也有字串值,以下應該作業
type Bar = {
[key in Keys | "extraKey"]: string;
}
uj5u.com熱心網友回復:
您不能以這種方式將欄位添加到映射型別,但您可以使用交集:
type Bar = {
extraKey : string;
} & {
[key in Keys]: string;
}
操場
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/355734.html
標籤:javascript 打字稿
