Abu gali turėti bet kokią reikšmę, bet jie skiriasi saugumu. any išjungia tipo tikrinimą; unknown jį paliko įjungtą ir verčia susiaurinti prieš naudojimą.
ts
: = ;
a..;
();
: = ;
u.();
();
Abu gali turėti bet kokią reikšmę, bet jie skiriasi saugumu. any išjungia tipo tikrinimą; unknown jį paliko įjungtą ir verčia susiaurinti prieš naudojimą.
: = ;
a..;
();
: = ;
u.();
();
function handle(input: unknown) {
if (typeof input === "string") {
input.toUpperCase(); // ✅ inside the guard, TS knows it's a string
}
}
unknown yra tipo saugus any atitikmuo: galite priskirti bet ką jam, bet negalite nieko su juo daryti, kol įrodote, kas tai yra per tipo saugą.
unknown — reikšmėms, kurių tipas tikrai nežinomas riboje: JSON.parse rezultatai, API atsakymai, catch (e: unknown). Jis verčia pavaliduoti.any — išeitis, kai migruojate iš JS arba kai tikrai negalerite kažko įtipuoti. Naudokite retai; jis plinta tyliai ir išjungia saugumą.Priėjimas prie any paneigia TypeScript tikslą.
Prieš unknown netipizuotose ribose – jis išsaugo kompiliatoriaus garantijas, o kartu vis tiek priima savavališkus įvestis, skatindamas jus pavaliduoti duomenis prieš jiems pasitikėdami.