class A { [key: string]: any; [index: number]: any; set<V>(k: string | number, v: V) { this[k] = v; } } Как то так можно, но тип с ключом связать наверное не выйдет.
А зачем вообще K?
interface Map<K, V> { clear(): void; delete(key: K): boolean; forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any): void; get(key: K): V | undefined; has(key: K): boolean; set(key: K, value: V): this; readonly size: number; } interface MapConstructor { new(): Map<any, any>; new<K, V>(entries?: readonly (readonly [K, V])[] | null): Map<K, V>; readonly prototype: Map<any, any>; } declare var Map: MapConstructor;
Ну, вот такое вроде ок работает... простите, с классами я не работаю
Обсуждают сегодня