TypeScript handlar inte om att skriva fler typer för sakens skull. Det handlar om att låta kompilatorn fånga fel innan dina användare gör det. Skillnaden mellan en kodbas där TypeScript hjälper och en där det bara är i vägen ligger i några få vanor. Här är de som gett mig störst effekt.
Undvik any – använd unknown
Så fort du skriver any släcker du TypeScript precis där det behövs som mest. Värdet kan vara vad som helst, och kompilatorn slutar varna. Använd i stället unknown när en typ verkligen är okänd; då tvingas du göra en kontroll innan du använder värdet.
Det är några extra rader nu som sparar timmar av felsökning senare, ofta i produktion klockan tre på natten. Sätt gärna en lint-regel som förbjuder any helt, med undantag bara där det är medvetet motiverat.
Låt typerna spegla verkligheten
Modellera dina data som de faktiskt ser ut, inte som det är bekvämt just nu. En beställning som kan vara ”utkast”, ”betald” eller ”avbruten” bör vara en union av tydliga tillstånd – inte tre booleska flaggor som tillåter omöjliga kombinationer som ”betald och avbruten samtidigt”.
Principen kallas ofta ”gör ogiltiga tillstånd oskrivbara”. Om din typ inte ens går att uttrycka fel, kan koden heller inte hamna i ett felaktigt tillstånd.

Slå på strict från dag ett
Aktivera strict-läget i tsconfig direkt när projektet startar. Att slå på det i en stor, befintlig kodbas senare är smärtsamt och blir ofta nedprioriterat för alltid. Med strict på får du bland annat kontroll av null och undefined, vilket eliminerar en hel kategori av de vanligaste buggarna.
Typa gränserna, inte varenda rad
Lägg energin där data kommer in i systemet: API-svar, formulärindata och tredjepartsbibliotek. Validera och typa där, så kan resten av koden lita på att datan är korrekt. Verktyg som Zod låter dig validera vid körning och härleda TypeScript-typen automatiskt – ett av samma sanningskälla.
Inuti väl typade gränser behöver du inte överdriva. Läsbarhet slår teoretisk perfektion; en kollega ska kunna förstå koden snabbt.
Vanliga misstag att undvika
Att tvinga fram typer med ”as” bara för att tysta kompilatorn är att be om problem – du ljuger för verktyget. Och undvik att överanvända enums där en enkel union av strängar gör jobbet enklare och lättare att läsa.
Sammanfattning
TypeScript ger mest värde när du undviker any, modellerar tillstånd ärligt, kör i strict-läge och lägger kraften på systemets gränser. Resultatet är en kodbas där refaktorisering känns tryggt och där felen fångas av verktyget – inte av kunden.

