Oba lahko vsebujeta katero koli vrednost, toda razlikujeta se v varnosti. any izključi preverjanje tipa; unknown ga ohrani in te prisili, da zožiš zatrg pred uporabo.
ts
: = ;
a..;
();
: = ;
u.();
();
Oba lahko vsebujeta katero koli vrednost, toda razlikujeta se v varnosti. any izključi preverjanje tipa; unknown ga ohrani in te prisili, da zožiš zatrg pred uporabo.
: = ;
a..;
();
: = ;
u.();
();
function handle(input: unknown) {
if (typeof input === "string") {
input.toUpperCase(); // ✅ inside the guard, TS knows it's a string
}
}
unknown je varnost tipa ustreznik any: lahko dodelite katerokoli stvar njemu, ampak ne morete nič storiti z njim, dokler ne dokazete, kaj je, preko type guard.
unknown — za vrednosti resnično neznanega tipa na meji: rezultati JSON.parse, odgovori API, catch (e: unknown). Prisili preverjanje.any — izhod, ko selite JS ali ko resnično ne morete tipizirati česa. Uporabite redko; se razširi tiho in onemogoči varnost.Zagrabitev za any premaguje namen TypeScript.
Dajte prednost unknown na netipiziranih mejah — ohrani garancije prevajalnika, hkrati pa še vedno sprejme poljuben vnos, kar te prisili, da preveriš podatke, preden jim zaupaš.