11
私はtypescript 1.8.10
で私のMap
オブジェクトを強く入力することに問題があります。ここではMapインタフェースを定義するcore-js
からの抜粋は以下のとおりです。TypeScriptマップ:強い型の使い方?
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; }>'
をスローします。 typescriptでES6 Map
オブジェクトを使用しているときに強いタイピングを利用する方法はありますか?
{name:string、price:number}のインタフェースを定義するために – alexeibs
私はそうするでしょう。それは、ここで私を助けなかったでしょう:エラーは、割り当ての右の兆候( '新しいマップ'の隣)にタイプがなかったために引き起こされました。 – BeetleJuice