Dalej•LEKCJA 18 / 26

Type guards

Kurs TypeScript · Wyjaśnienie, przykłady, oczekiwany wynik i ćwiczenie.

Strażnik typu (type guard) sprawdza wartość i informuje kompilator o jej strukturze.

Cel lekcji

Poznać zagadnienie „Type guards”, zrozumieć przykład i umieć zastosować podobny zapis we własnym programie.

Wyjaśnienie krok po kroku

Może to być zwykłe typeof, in albo własna funkcja ze zwracanym value is Typ.

Najpierw przeanalizuj kod bez uruchamiania. Zwróć uwagę, jakie dane wykorzystuje program, co z nimi robi i skąd bierze się wynik pokazany pod przykładem.

Praktyczny przykład

Gdzie zobaczysz efekt: Po kompilacji i wykonaniu JavaScript

function isNumber(v: unknown): v is number {
  return typeof v === "number";
}
const v: unknown = 7;
if (isNumber(v)) console.log(v * 2);

Przeczytaj kod linijka po linijce

  1. function isNumber(v: unknown): v is number {Definiujemy funkcję lub metodę, której można użyć później.
  2. return typeof v === "number";Zwracamy wyliczoną wartość do miejsca wywołania funkcji.
  3. const v: unknown = 7;Tworzymy lub aktualizujemy zmienną, pole albo przypisanie.
Oczekiwany wynik / efektpo uruchomieniu przykładu
14

Jak utrwalić tę umiejętność?

Przepisz kod samodzielnie. Następnie zmień jedną wartość lub jedną instrukcję i spróbuj przewidzieć efekt. Dopiero potem uruchom zmienioną wersję. Jeśli wynik jest inny niż oczekiwany, porównaj kolejne linie.

Spróbuj samodzielnie

Napisz isString dla typu unknown.

To już koniec tej lekcji.

Jeśli rozumiesz przykład, oznacz lekcję jako ukończoną i przejdź dalej.