У меня возникли проблемы с сильной печатью объектов Map
с помощью typescript 1.8.10
. Вот отрывок из core-js
, определяющий интерфейс карты:
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;
}
Я хочу создать карту, которая использует строковые ключи и только сохраняет значения с помощью формы {name:string,price:number}
. Я попытался объявить свой объект с помощью:
let oMap:Map<string,{name:string,price:number}> = new Map();
Однако компилятор выдает ошибку TS2322: Type 'Map<{}, {}>' is not assignable to type 'Map<string, { name: string; price: number; }>'
. Есть ли способ использовать сильную типизацию при использовании ES6 Map
объектов в typescript?