Przejdź do treści
webtype.orgwebtype.org

    ↑↓ ruch · ⏎ otwórz · esc zamknij

    Operatory

    typeof

    Most od wartości do jej typu.

    Czym jest

    Typy i wartości mieszkają w osobnych przestrzeniach nazw, a typeof to jedyne przejście w jedną stronę. W pozycji typu znaczy „typ tej wartości”, co nie ma związku z javascriptowym typeof zwracającym tekst w czasie wykonania — ta sama pisownia, inne światy i jeden z niewielu prawdziwych kalamburów w języku.

    Przykłady

    • typeof config
      →{ retries: number; url: string; }
    • typeof send
      →(to: string) => void
    • keyof typeof config
      →"retries" | "url"

      Zestawienie, które będziesz pisać najczęściej: przejdź do świata typów, a potem weź klucze.

    Każdy rozwinięty typ powyżej wypisał TypeScript 6.0.3, nie ręka człowieka.

    Czego nie robi

    • Nie przyjmuje wyrażenia. typeof foo.bar działa, bo to odwołanie; typeof foo() nie, bo wywołanie czegoś nie jest wartością, którą da się nazwać.
    • Nie zawęża. typeof w pozycji typu czyta typ zadeklarowany, a nie to, do czego zmienna została zawężona w danym wierszu.

    Wniosek

    Gdy typ jest już doskonale opisany przez wartość, którą masz, nie pisz go po raz drugi. typeof nie pozwala im się rozjechać.