typescript - Typ av window.location


Jag försöker läsa sidans URL med URL-objektet.

let url:URL = new URL(window.location)

Detta ger ett fel Argument av typen 'Location' kan inte tilldelas till parametern av typen 'string'.

let url:Location = new URL(window.location)

Detta returnerar istället Typen 'URL' saknar följande egenskaper från typen 'Location': ancestorOrigins, assign, reload, replace

Så vad är typen av ett URL-objekt?

Tack

Svar #1

Felet är inte relaterat till typen av let url. Problemet är att enligt TypeScript förväntar sig new URL() en sträng, men du ger den ett Location-objekt. Detta skulle fungera i vanlig JavaScript eftersom Location kommer att konverteras till en sträng.

För att tillfredsställa kompilatorn behöver du vara mer tydlig och skicka en sträng till konstruktorn:

let url: URL = new URL(window.location.href);

Lekplatslänk