Ako reprezentovať názov premennej kľúča v rozhraní TypeScript?
interface Items {
id: Item,
}
id nie je voliteľné, ale bude mať iný názov
napríklad:
let items = {
34433ded : {name: "foo", price: 0.99},
14d433dee : {name: "bar", price: 1.99},
}
Odpoveď č. 1
Niečo ako:
interface Item {
name: string;
price: string;
}
type Items = { [id: string]: Item }
let items = {
34433ded : {name: "foo", price: 0.99},
14d433dee : {name: "bar", price: 1.99},
} as Items;
Odpoveď č. 2
Môžete to dosiahnuť nasledovaním tejto štruktúry:
interface Items {
[key: string]: Item;
}
Tu je tvoja fiddle.
Ale pamätaj, že podľa špecifikácie JSON kľúče tvojich objektov by nemali začínať číslami, alebo ak áno - musíš ich uzavrieť v úvodzovkách (tak ako som to urobil vo fiddle)
