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)

Súvisiace články