TypeScript · Senior · Pytanie 27 z 75
Co zmieniło się we wnioskowaniu predykatów typów w TS 5.5?
const nums = [1, null, 2].filter(x => x !== null);- ✓Poprawna odpowiedź: TS wnioskuje predykat
x is number, więcnumstonumber[] - 2
filterteraz zawsze zwracanever[]dla mieszanych tablic - 3Predykaty typów usunięto na rzecz funkcji asercji
Wyjaśnienie
Wcześniej nums było (number | null)[] i trzeba było pisać (x): x is number => x !== null. Teraz kompilator wnioskuje predykat dla prostych funkcji, jeśli zwrócenie true naprawdę zawęża typ.