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.
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.
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.
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.
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.
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.
Jede Prüfung schließt Möglichkeiten aus. Im letzten Zweig weiß der Compiler, dass value ein String ist.
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.
string[] und Array<string> bedeuten dasselbe.
Dasselbe wie ReadonlyArray<number>. push und andere verändernde Methoden fallen weg.
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.
Beschreibt Eigenschaften inline. Gib ihm mit type oder interface einen Namen, um ihn wiederzuverwenden.
Parameter- und Rückgabetypen. Ziehe ihn dem lockeren Function-Typ vor.
Exakte Werte statt des ganzen Primitivs.
Einer von mehreren Typen. Grenze vor der Nutzung von Mitgliedern mit typeof, in oder einem gemeinsamen Feld ein.
Alle Typen gleichzeitig. Meist genutzt, um Objekttypen zusammenzuführen.
Primitive
Spezielle Typen
Strukturen
Kombinationen
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