Hur man konverterar js Map till objekt i TypeScript med Object.fromEntries
Mitt mål är att konvertera en JavaScript Map till ett objekt, med hjälp av Object.fromEntries() ts-playground-länk
Koden jag har i min TypeScript-lekplats ser ut så här:
interface Car {
engine: string;
color: string;
price: number;
}
const carMap = new Map<keyof Car, any>();
carMap.set('engine', 200);
const carMapAsObject = Object.fromEntries(carMap);
console.log(carMapAsObject); // --> {engine: 200}
Object.fromEntries(carMap); fungerar inte i TypeScript-lekplatsen, här ger det felet: Property 'fromEntries' does not exist on type 'ObjectConstructor'.(2339).
På min lokala dator är felet jag får annorlunda (fel 2345):
Argument of type 'Map<"engine" | "color" | "price", any>' is not assignable to parameter of type '[string, unknown][]'.
Type 'Map<"engine" | "color" | "price", any>' is missing the following properties from type '[string, unknown][]': length, pop, push, concat, and 24 more.ts(2345)
Stöds detta inte av TypeScript än, eller hur ska jag göra denna objektkonvertering? När jag tittar på konsolen kan jag se att den underliggande JavaScript-koden körs utan problem 🙃