TypeScript-Datentypen: Die komplette Referenz

TypeScript-Datentypen

TypeScript-Datentypen: Alle Typen in einer durchsuchbaren Tabelle | We.Inc

string, number, boolean, bigint, symbol, null, undefined, any, unknown, never, void, object, Arrays, Tupel, Enums, Literale und Unions, jeweils mit einem Beispiel.

Die grundlegenden Datentypen von TypeScript sind die sieben JavaScript-Primitive string, number, bigint, boolean, symbol, null und undefined, kleingeschrieben. Darauf aufbauend kommen spezielle Typen (any, unknown, never, void, object), Strukturen wie Arrays, Tupel und Enums sowie Möglichkeiten, Typen zu kombinieren: Literaltypen, Unions und Intersections.

Die vier Gruppen

Durchsuche die Referenz nach Namen oder filtere sie nach Gruppe. Jede Zeile enthält ein einzeiliges Beispiel, das du in eine .ts-Datei einfügen kannst, und die Spalte mit Hinweisen markiert Verhalten, über das viele stolpern, etwa den Unterschied zwischen void und undefined oder warum unknown sicherer ist als any.

Häufige Fragen

Wie viele primitive Typen hat TypeScript?

Sieben, genau wie JavaScript: string, number, bigint, boolean, symbol, null und undefined. number deckt sowohl Ganzzahlen als auch Dezimalzahlen ab; einen eigenen int- oder float-Typ gibt es nicht.

Was ist der Unterschied zwischen any und unknown?

Beide akzeptieren jeden Wert. Mit any darfst du alles damit machen, Fehler gehen also unbemerkt durch. Mit unknown darfst du nichts damit machen, bis du ihn mit einer Prüfung wie typeof eingrenzt. Damit ist unknown die sichere Wahl für nicht vertrauenswürdige Daten.

Wofür ist der Typ never da?

never beschreibt Werte, die nicht vorkommen können: den Rückgabetyp einer Funktion, die immer wirft, und das, was von einer Union übrig bleibt, nachdem jedes Mitglied behandelt wurde. Diese zweite Verwendung ermöglicht Vollständigkeitsprüfungen.

Ist void dasselbe wie undefined?

Nein. void ist der Rückgabetyp einer Funktion, deren Rückgabewert ignoriert werden soll. Einer Funktion, die als void zurückgebend typisiert ist, darf ein Callback übergeben werden, das etwas zurückgibt, während undefined bedeutet, dass der Wert wirklich undefined ist.

Was ist der Unterschied zwischen object, Object und {}?

object steht für jeden nicht primitiven Wert, etwa Objekte, Arrays und Funktionen. {} steht für jeden Wert außer null und undefined, Primitive eingeschlossen. Der globale Object-Typ ist selten nützlich; nimm lieber object oder einen konkreten Objekttyp.

Primitive: was typeof meldet

Spezielle Typen markieren die Ränder

Typen kombinieren

Von unknown zu einem brauchbaren Typ

Nicht vertrauenswürdige Eingaben Schritt für Schritt eingrenzen

Jede Prüfung schließt Möglichkeiten aus. Im letzten Zweig weiß der Compiler, dass value ein String ist.

never als Vollständigkeitsprüfung

Kommt ein neuer Status zur Union hinzu, lässt sich die Zuweisung an never nicht mehr kompilieren, bis ein case dafür ergänzt wird.

Text beliebiger Länge. Template-Literale sind ebenfalls Strings.

Ganzzahlen und Dezimalzahlen gleichermaßen, einschließlich NaN und Infinity.

Ganze Zahlen jenseits des sicheren Integer-Bereichs. Das Suffix n braucht ein ES2020-Ziel.

Nur true oder false.

Jeder Aufruf von Symbol() erzeugt einen eindeutigen Wert.

Mit aktiviertem strictNullChecks muss null im Typ aufgeführt sein, um erlaubt zu sein.

Der Wert einer deklarierten, aber nicht zugewiesenen Variable und einer fehlenden optionalen Eigenschaft.

Schaltet die Prüfung für den Wert ab. noImplicitAny meldet Stellen, an denen es sich unbemerkt einschleicht.

Nimmt jeden Wert auf, erlaubt aber nichts, bis du ihn eingrenzt.

Kein Wert hat je diesen Typ: Funktionen, die immer werfen, und Unions, von denen nichts übrig ist.

Ein Rückgabewert, der ignoriert werden soll. Nicht dasselbe wie undefined.

Jeder nicht primitive Wert: Objekte, Arrays und Funktionen.

Array

string[] und Array<string> bedeuten dasselbe.

readonly-Array

Dasselbe wie ReadonlyArray<number>. push und andere verändernde Methoden fallen weg.

Tupel

Feste Länge mit einem Typ pro Position. Optionale Elemente stehen am Ende: [number, number?].

Erzeugt zur Laufzeit ein echtes Objekt, anders als die meiste TypeScript-Syntax.

Objekttyp

Beschreibt Eigenschaften inline. Gib ihm mit type oder interface einen Namen, um ihn wiederzuverwenden.

Funktionstyp

Parameter- und Rückgabetypen. Ziehe ihn dem lockeren Function-Typ vor.

Literaltyp

Exakte Werte statt des ganzen Primitivs.

Union

Einer von mehreren Typen. Grenze vor der Nutzung von Mitgliedern mit typeof, in oder einem gemeinsamen Feld ein.

Intersection

Alle Typen gleichzeitig. Meist genutzt, um Objekttypen zusammenzuführen.

Primitive

Spezielle Typen

Strukturen

Kombinationen

Durchsuchbare Typreferenz

Typen durchsuchen

unknown, tuple, null...

Nach Gruppe filtern

Alle

{n} von {v} Typen angezeigt

Kein Typ passt zu dieser Suche.

TypeScript-Typen mit Beispielen

Typ

Gruppe

Beispiel

Hinweis

Kostenlos starten · Keine Kreditkarte nötig

Verwandt: Ratgeber

Produkt

Für wen

Funktionen

Ressourcen

Unternehmen

Sitemap