TypeScript · Middle · Pytanie 19 z 75
Czym jest funkcja asercji (assertion function)?
function assertIsString(x: unknown): asserts x is string {
if (typeof x !== 'string') throw new Error('Not a string');
}- ✓Poprawna odpowiedź: Funkcją, po której udanym wywołaniu TS uznaje typ argumentu za zawężony
- 2Funkcją zwracającą
truelubfalsedo sprawdzenia typu - 3Funkcją, która działa tylko w testach
Wyjaśnienie
Po assertIsString(value) value jest string w dalszym kodzie, bez if. Jeśli sprawdzenie się nie powiedzie, funkcja rzuca błąd. W przeciwieństwie do type guard (x is T) nie trzeba opakowywać wyniku w warunek.