Sto riscontrando problemi nella digitazione degli oggetti Map
con typescript 1.8.10
. Ecco un estratto dal core-js
definire l'interfaccia Map:Mappa TypeScript: come usare i tipi forti?
interface Map<K, V> {
clear(): void;
delete(key: K): boolean;
forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void;
get(key: K): V;
has(key: K): boolean;
set(key: K, value?: V): Map<K, V>;
size: number;
}
Voglio creare una mappa che utilizza chiavi di stringa e sempre e solo memorizza i valori con la forma {name:string,price:number}
. Ho provato a dichiarare il mio oggetto con:
let oMap:Map<string,{name:string,price:number}> = new Map();
Tuttavia, il compilatore genera un errore TS2322: Type 'Map<{}, {}>' is not assignable to type 'Map<string, { name: string; price: number; }>'
. C'è un modo per sfruttare la tipizzazione quando si utilizzano gli oggetti ES6 Map
in dattiloscritto?
Penso che sia meglio per definire un'interfaccia per {name: string, price: number} – alexeibs
In genere lo farei. Non mi avrebbe aiutato qui: l'errore è stato attivato perché non c'era alcun tipo sul segno giusto del compito (accanto a 'nuova mappa'). – BeetleJuice