TypeScript heeft gewonnen. Dit is wat het ons werkelijk heeft opgeleverd.

Niemand discussieert er meer over om TypeScript te gebruiken. Nieuwe projecten gebruiken het standaard. Het debat is gestreden.

De echte waarde zit niet alleen in het opvangen van typefouten. Het is veel meer dan dat.

Een functiesignatuur fungeert als documentatie. Het veroudert nooit. Als de code verandert, faalt de build door de compiler.

Kijk naar deze functie:

function scheduleReminder(
  userId: string,
  at: Date,
  channel: "email" | "push" | "sms",
): Promise<ReminderId>;

Je weet precies hoe je deze moet aanroepen. Je weet wat er nodig is en wat het teruggeeft. Je weet dat het kanaal een van drie specifieke strings moet zijn.

Als je later een "slack"-optie toevoegt, dwingt de compiler je om elk deel van je code bij te werken. Een commentaar zou alleen maar verouderen en je voor de gek houden.

In niet-getypeerde code voelt het hernoemen van een veld eng aan. Je zoekt naar strings en hoopt op het beste. In TypeScript verander je het type. De compiler geeft je een to-do-lijst van alles wat is gebroken. Refactoren wordt veilig.

Types helpen ook bij AI.

Een AI-model raadt de vorm van de code in JavaScript. In TypeScript is het type de specificatie. De AI weet wat is toegestaan. Fouten verschijnen als errors in plaats van crashes in productie.

Types fungeren als vangrails. Ze laten je AI-code met vertrouwen gebruiken in plaats van elke regel handmatig te controleren.

Schrijf betere types met deze regels:

• Gebruik unions in plaats van veel booleans. Een status zoals "loading" | "error" | "ready" is beter dan drie afzonderlijke flags. • Geef je domeintypes een naam. Gebruik type Cents = number om de intentie aan te geven. • Vermijd any. Gebruik in plaats daarvan unknown en verfijn het type. • Laat inference zijn werk doen. Voeg annotaties toe aan je grenzen, zoals functiesignaturen, maar laat de rest vloeiend verlopen.

TypeScript heeft codebases veranderd in sets van afgedwongen contracten. Deze contracten maken angstloos refactoren en betrouwbare AI-ondersteuning mogelijk.

We zijn types gaan gebruiken om bugs te stoppen. We blijven ze gebruiken omdat ze de fundering vormen voor alles wat volgt.

Source: https://dev.to/parsajiravand/typescript-won-heres-what-that-actually-bought-us-53lo