Begge kan holde enhver verdi, men de skiller seg i sikkerhet. any slår av typekontroll; unknown holder den på og tvinger deg til å begrense før bruk.
ts
: = ;
a..;
();
: = ;
u.();
();
Begge kan holde enhver verdi, men de skiller seg i sikkerhet. any slår av typekontroll; unknown holder den på og tvinger deg til å begrense før bruk.
: = ;
a..;
();
: = ;
u.();
();
function handle(input: unknown) {
if (typeof input === "string") {
input.toUpperCase(); // ✅ inside the guard, TS knows it's a string
}
}
unknown er typesikker motstykke til any: du kan tilordne hva som helst til det, men du kan ikke gjøre noe med det før du beviser hva det er via en type guard.
unknown — for verdier av genuint ukjent type ved grensen: JSON.parse resultater, API-svar, catch (e: unknown). Det tvinger validering.any — fluktluke når du migrerer JS eller når du virkelig ikke kan skrive noe. Bruk sparsomt; det sprer seg stille og deaktiverer sikkerhet.Å gripe til any motarbeider formålet med TypeScript.
Foretrékk unknown ved ukrypterte grenser — det holder kompilatorens garantier mens du fortsatt aksepterer vilkårlig inndata, og presser deg til å validere data før du stoler på det.