Oba mogu sadržavati bilo koju vrijednost, ali se razlikuju u sigurnosti. any isključuje provjeru tipa; unknown je čini aktivnom i prisiljava vas da suzite prije upotrebe.
ts
: = ;
a..;
();
: = ;
u.();
();
Oba mogu sadržavati bilo koju vrijednost, ali se razlikuju u sigurnosti. any isključuje provjeru tipa; unknown je čini aktivnom i prisiljava vas da suzite prije upotrebe.
: = ;
a..;
();
: = ;
u.();
();
function handle(input: unknown) {
if (typeof input === "string") {
input.toUpperCase(); // ✅ inside the guard, TS knows it's a string
}
}
unknown je sigurniji kolega od any: možete mu dodijeliti bilo što, ali ne možete ništa učiniti s njim dok ne dokažete što je to kroz tip gard.
unknown — za vrijednosti stvarno nepoznatog tipa na granici: rezultati JSON.parse, API odgovori, catch (e: unknown). Prisiljava na validaciju.any — sigurnosni izlaz pri migraciji JS-a ili kada zaista ne možete tipizirati nešto. Koristite rijetko; širi se tiho i onemogućava sigurnost.Posezanje za any negira svrhu TypeScripta.
Preferite unknown na netipiziranim granicama — čuva garantije kompajlera dok još uvijek prihvaća proizvoljne unose, prisiljavajući vas na validaciju podataka prije nego što im verujete.