Begge kan indeholde enhver værdi, men de adskiller sig i sikkerhed. any slår typekontrol fra; unknown holder den tændt og tvinger dig til at indsnævre før brug.
ts
: = ;
a..;
();
: = ;
u.();
();
Begge kan indeholde enhver værdi, men de adskiller sig i sikkerhed. any slår typekontrol fra; unknown holder den tændt og tvinger dig til at indsnævre før brug.
: = ;
a..;
();
: = ;
u.();
();
function handle(input: unknown) {
if (typeof input === "string") {
input.toUpperCase(); // ✅ inside the guard, TS knows it's a string
}
}
unknown er typesikker modpart til any: du kan tildele hvad som helst til det, men du kan ikke gøre noget med det, indtil du beviser hvad det er via en type guard.
unknown — for værdier af virkelig ukendt type ved grænsen: JSON.parse resultater, API-svar, catch (e: unknown). Det tvinger validering.any — flugtluge når du migrerer JS, eller når du virkelig ikke kan skrive noget. Brug sparsomt; det spredes stille og udslagdet sikkerhed.At gribe til any besejrer formålet med TypeScript.
For unknown ved utypificerede grænser — det bevarer kompilerens garantier og accepterer stadig vilkårligt input, og tvinger dig til at validere data før du stoler på det.