TypeScript · Middle · Pytanie 1 z 75

Czym jest type guard zdefiniowany przez użytkownika?

function isUser(x: unknown): x is User {
  return typeof x === "object" && x !== null && "id" in x;
}

Wyjaśnienie

Po if (isUser(data)) wewnątrz gałęzi data ma typ User. Za poprawność sprawdzenia odpowiada programista: kompilator ufa predykatowi. Od TS 5.5 proste predykaty są wnioskowane automatycznie, np. dla arr.filter(x => x !== null).

Do poczytania

Błąd w pytaniu

TypeScript · Middle · pytanie 1

Sprawdź się

Rozwiąż test TypeScript · Middle: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test