any vs unknown — jak obsłużyć nieznane dane?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
any pozwala pomijać kontrolę typów dla danej wartości. unknown wymaga sprawdzenia typu przed użyciem.
TypeScript
function label(value: unknown): string {
if (typeof value === 'string') return value.trim();
if (typeof value === 'number') return String(value);
return 'Nieznana wartość';
}Praktyka: dane spoza aplikacji traktuję jako niezweryfikowane i waliduję ich strukturę w runtime. Mogę użyć type guarda albo biblioteki walidującej.
Pułapka: data as User jest zapewnieniem dla kompilatora, nie sprawdzeniem danych. Błędne dane nadal mogą dotrzeć do aplikacji.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Powiązane pytania
- B04 · Dlaczego dane z API sprawdzamy podczas działania programu? Po co unknown? — JavaScript, TypeScript i Node.js
Przećwicz w kodzie
- Rozgrzewka: sprawdzenie wejścia — uruchamia testy w przeglądarce