TypeScript-datatypes: het complete naslagwerk

TypeScript-datatypes

TypeScript-datatypes: elk type in één doorzoekbare tabel | We.Inc

string, number, boolean, bigint, symbol, null, undefined, any, unknown, never, void, object, arrays, tuples, enums, literals en unions, elk met een voorbeeld.

De basisdatatypes van TypeScript zijn de zeven JavaScript-primitieven, string, number, bigint, boolean, symbol, null en undefined, in kleine letters geschreven. Daarbovenop komen speciale types (any, unknown, never, void, object), structuren zoals arrays, tuples en enums, en manieren om types te combineren: literal types, unions en intersections.

De vier groepen

Doorzoek het naslagwerk op naam of filter het op groep. Elke rij heeft een voorbeeld van één regel dat u in een .ts-bestand kunt plakken, en de notitiekolom wijst op het gedrag waar mensen over struikelen, zoals het verschil tussen void en undefined of waarom unknown veiliger is dan any.

Veelgestelde vragen

Hoeveel primitieve types heeft TypeScript?

Zeven, net als JavaScript: string, number, bigint, boolean, symbol, null en undefined. number dekt zowel gehele getallen als decimalen; er is geen apart int- of float-type.

Wat is het verschil tussen any en unknown?

Beide accepteren elke waarde. Met any mag u er alles mee doen, dus fouten glippen er stilletjes door. Met unknown mag u er niets mee doen tot u het vernauwt met een controle zoals typeof, en daardoor is het de veilige keuze voor onbetrouwbare data.

Waar dient het type never voor?

never beschrijft waarden die niet kunnen voorkomen: het returntype van een functie die altijd een fout gooit, en wat er van een union overblijft nadat elk lid is afgehandeld. Dat tweede gebruik maakt exhaustiveness checks mogelijk.

Is void hetzelfde als undefined?

Nee. void is het returntype van een functie waarvan de returnwaarde genegeerd moet worden. Een functie met void als returntype mag een callback krijgen die iets teruggeeft, terwijl undefined betekent dat de waarde echt undefined is.

Wat is het verschil tussen object, Object en {}?

object betekent elke niet-primitieve waarde, zoals objecten, arrays en functies. {} betekent elke waarde behalve null en undefined, primitieven inbegrepen. Het globale Object-type is zelden nuttig; kies liever object of een specifiek objecttype.

Primitieven: wat typeof rapporteert

Speciale types markeren de randen

Types combineren

Van unknown naar een bruikbaar type

Vernauw onbetrouwbare invoer stap voor stap

Elke controle haalt mogelijkheden weg. In de laatste tak weet de compiler dat value een string is.

never als exhaustiveness check

Als er een nieuwe status bij de union komt, compileert de toewijzing aan never niet meer tot er een case voor is toegevoegd.

Tekst van elke lengte. Template literals zijn ook strings.

Gehele getallen en decimalen, inclusief NaN en Infinity.

Gehele getallen buiten het veilige integerbereik. Het achtervoegsel n vereist een ES2020-target.

Alleen true of false.

Elke aanroep van Symbol() maakt een unieke waarde.

Met strictNullChecks aan moet null in het type staan om te zijn toegestaan.

De waarde van een gedeclareerde maar niet toegewezen variabele en van een ontbrekende optionele eigenschap.

Schakelt de controle voor de waarde uit. noImplicitAny meldt plekken waar het ongemerkt binnensluipt.

Bevat elke waarde maar staat niets toe tot u het vernauwt.

Geen enkele waarde heeft ooit dit type: functies die altijd een fout gooien, en unions waar niets van over is.

Een returnwaarde die genegeerd moet worden. Niet hetzelfde als undefined.

Elke niet-primitieve waarde: objecten, arrays en functies.

Array

string[] en Array<string> betekenen hetzelfde.

readonly-array

Hetzelfde als ReadonlyArray<number>. push en andere muterende methoden zijn verwijderd.

Tuple

Vaste lengte met een type per positie. Optionele elementen komen aan het eind: [number, number?].

Maakt tijdens runtime een echt object aan, anders dan de meeste TypeScript-syntax.

Objecttype

Beschrijft eigenschappen inline. Geef het een naam met type of interface om het te hergebruiken.

Functietype

Parameter- en returntypes. Kies dit liever dan het losse Function-type.

Literal type

Exacte waarden in plaats van het hele primitief.

Union

Eén van meerdere types. Vernauw met typeof, in of een gedeeld veld voordat u leden gebruikt.

Intersection

Alle types tegelijk. Vooral gebruikt om objecttypes samen te voegen.

Primitieven

Speciaal

Structuren

Combinaties

Doorzoekbaar typenaslagwerk

Types zoeken

unknown, tuple, null...

Filteren op groep

Alle

{n} van {v} types getoond

Geen type komt overeen met deze zoekopdracht.

TypeScript-types met voorbeelden

Type

Groep

Voorbeeld

Notitie

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap