Guides

Hvad er TypeScript? En letforståelig guide til ikke-udviklere

TypeScript er JavaScript med typer. Du tilføjer mærkater, der siger, hvilken slags data hver værdi skal være — et tal, en tekst, en liste af ordrer — og TypeScript tjekker din kode for uoverensstemmelser, før den nogensinde kører. TypeScript-siden beskriver det som »JavaScript med syntaks til typer«; typerne fjernes, når koden omsættes til almindelig JavaScript, som så kører overalt, hvor JavaScript gør.

Hvorfor det betyder noget, når du bygger med AI

AI-modeller skriver kode hurtigt, og hurtig kode har fejl: et felt kaldet customerName i én fil og customer_name i en anden, en pris sendt som tekst i stedet for et tal, en funktion kaldt med en manglende værdi. I almindelig JavaScript dukker mange af disse fejl først op, når nogen klikker på den forkerte knap.

TypeScript fanger mange af dem tidligere, mens koden skrives:

  • AI'en får øjeblikkelig feedback. Typefejl peger på den præcise linje, der er forkert, så agenten kan rette den, før du ser den.
  • Ændringer er tryggere. Omdøber du et felt, markerer TypeScript hvert sted, der stadig bruger det gamle navn.
  • Koden forklarer sig selv. Typer dokumenterer, hvad en funktion forventer og returnerer, hvilket hjælper dig, AI'en og enhver udvikler, der arbejder på det senere.
  • Editorer bliver smartere. Autofuldførelse og »gå til definition« fungerer bedre, fordi editoren ved, hvad hver værdi er.

Det er en stor grund til, at mange AI-app-builders bruger TypeScript som standard.

En hverdagsanalogi

Tænk på et lager med mærkede bokse. Hver boks har et skilt: »Kun paller«, »Kølevare«, »Maks. 500 kg«. Når en leverance ankommer, sammenligner en kontrollør ved døren varerne med skiltet. Frossen fisk, på vej til tørvareboksen, bliver stoppet ved døren, ikke opdaget en uge senere, når den lugter.

TypeScript er kontrolløren ved døren. Typerne er skiltene. Tjekket sker, før varerne — din kode — tages i brug. Og når alt er på plads, fjernes skiltene: det kørende JavaScript har ingen typer tilbage i sig.

Sådan virker TypeScript

  1. Du (eller AI'en) skriver .ts- eller .tsx-filer — TypeScript med typemærkater.
  2. Typetjekkeren læser koden og rapporterer uoverensstemmelser som fejl i editoren eller bygget.
  3. Et byggetrin fjerner typerne og producerer almindelig JavaScript.
  4. JavaScriptet kører i browseren eller på en server (Node.js, Deno, Bun).

En vigtig konsekvens: TypeScript tjekker den kode, du har skrevet, ikke de data, der kommer ind, mens appen kører. Hvis et eksternt API sender noget uventet tilbage, kan TypeScript ikke se det, medmindre du tilføjer validering under kørsel.

Et praktisk eksempel: en bookingformular

Sig, at du bygger en bookingapp til en frisørsalon. Her er en type, der beskriver en booking:

type Booking = {
  id: number;
  customerEmail: string;
  service: "haircut" | "colour" | "blow-dry";
  startsAt: Date;
  price: number;
  notes?: string; // ? betyder, at feltet er valgfrit
};

Og en funktion, der udregner et depositum:

function depositFor(booking: Booking): number {
  return booking.price * 0.2;
}

Se nu, hvad TypeScript fanger.

Et stavet forkert felt.

depositFor({ id: 1, customerEmail: "lena@example.com", service: "haircut",
  startsAt: new Date(), prise: 40 });

TypeScript rapporterer, at prise ikke er en kendt egenskab, og at price mangler. I almindelig JavaScript ville dette stille og roligt beregne et depositum på NaN (ikke et tal).

Den forkerte slags værdi.

const booking: Booking = { ...otherFields, price: "40" };

TypeScript rapporterer, at en streng ikke kan bruges, hvor et tal forventes. Uden det virker "40" * 0.2 tilfældigvis, men "40" + 5 giver "405" — den slags fejl, der dukker op på en faktura.

En service, der ikke findes.

const booking: Booking = { ...otherFields, service: "perm" };

TypeScript rapporterer, at "perm" ikke er en af de tilladte services. Når salonen senere tilføjer permanent, tilføjer du den til typen, og TypeScript viser hvert sted, der skal opdateres — prislisten, formularen, kalenderfarverne.

Hvad det ikke kan fange. Hvis bookingformularen sender price: "40" fra browseren til serveren, ser TypeScript på serveren det ikke under kørsel. Derfor validerer velbyggede apps også indkommende data, ofte med et valideringsbibliotek, der tjekker formen og omdanner den til en rigtig Booking.

TypeScript vs. JavaScript

JavaScriptTypeScript
Hvad det erSproget browsere kørerJavaScript plus typesyntaks
Kører direkte i browsereJaOmsættes først til JavaScript
Fanger typefejlUnder kørsel, hvis overhovedetMens der skrives, før den kører
OpsætningIngenEt byggetrin (håndteres typisk af værktøjer som Vite eller Next.js)
Godt tilSmå scripts, hurtige eksperimenterApps, der vokser og ændrer sig
Filendelser.js, .jsx.ts, .tsx

Almindelige termer forklaret

TermBetydning
TypeEn beskrivelse af, hvad en værdi kan være: et tal, en tekst, en bestemt objektform.
TypeannotationEn mærkat skrevet i koden, fx price: number.
TypeinferensAt TypeScript selv finder ud af en type uden mærkat.
Interface / typealiasEn navngiven beskrivelse af et objekts form, fx Booking.
UnionstypeEn værdi, der kan være én af flere muligheder, fx "haircut" | "colour".
Valgfri egenskabEt felt, der kan mangle, markeret med ?.
anyEn type, der slår tjekket fra for en værdi — en nødudgang, der bør bruges sparsomt.
TypefejlTypeScripts rapport om, at noget ikke matcher.
Compile / transpileAt omsætte TypeScript til JavaScript.
.tsxEn TypeScript-fil, der indeholder JSX, brugt i React-apps.
tsconfig.jsonIndstillingsfilen for, hvor strengt TypeScript tjekker projektet.
Validering under kørselAt tjekke rigtige indkommende data, mens appen kører.

Almindelige fejl og misforståelser

  • »TypeScript gør kode fejlfri.« Det fanger uoverensstemmelser i datastrukturen, ikke forkert logik. En depositumsprocent på 2 i stedet for 20 type-tjekker fint.
  • »Typer beskytter mig mod dårligt input.« Typer forsvinder under kørsel. Valider data fra brugere, formularer og API'er.
  • any overalt. Når en AI står fast, griber den måske til any eller // @ts-ignore for at dæmpe fejl. Det skjuler problemer i stedet for at løse dem.
  • At ignorere typefejl, fordi forhåndsvisningen virker. Nogle værktøjer kører stadig kode med typefejl. Fejlene er stadig fejl, der venter på at ske.
  • »TypeScript er langsommere.« Typerne fjernes, før der køres; det JavaScript, der kører, er stort set det samme.
  • »Det er kun til store teams.« Solo-bygmestre drager også fordel af det, især når en AI laver de fleste ændringer.

Hvad du beder din AI-builder om

  • »Brug TypeScript med strict mode slået til.«
  • »Definer delte typer for vores vigtigste poster — Customer, Booking, Invoice — og brug dem både i frontend og backend.«
  • »Brug ikke any eller @ts-ignore for at komme forbi fejl; ret den underliggende årsag, og fortæl mig, hvad den var.«
  • »Valider alt indkommende data på serveren, ikke kun med typer.«
  • »Kør typetjekkeren, og ret alle fejl, før du siger, at det er færdigt.«
  • »Når du omdøber et felt, så opdater hvert sted, TypeScript markerer.«
  • »Forklar denne typefejl på almindeligt dansk.«

For mere om at tjekke det, AI'en har produceret, se sådan gennemgår du AI-genereret kode og sådan debugger du en AI-bygget app.

TypeScript i Mythex

Når du ikke beder om noget bestemt, starter Mythex nye projekter på Vite + React + TypeScript + Tailwind. Kodeeditoren indeholder sprogintelligens — autofuldførelse, diagnostik og gå-til-definition for TypeScript og JavaScript, blandt andre sprog — så typefejl er synlige i koden, ikke kun i forhåndsvisningen. Editoren er skrivebeskyttet på Free og fuldt redigerbar på Pro. Du kan stadig bede om en anden opsætning i din første prompt; dokumentationssiden om hvordan teknologien vælges forklarer, hvordan, og dokumentationen for kodeeditoren dækker, hvad editoren viser.

Spørgsmål

Hvad er TypeScript med enkle ord?

TypeScript er JavaScript med typer. Du angiver, hvilken slags data hver værdi skal være, fx et tal, en tekst eller en kunderegistrering, og TypeScript tjekker koden for uoverensstemmelser, før den kører. Derefter omsættes den til almindelig JavaScript.

Er TypeScript et andet sprog end JavaScript?

Det er en udvidelse af JavaScript: JavaScript plus ekstra syntaks til typer. TypeScript-siden beskriver det som JavaScript med syntaks til typer. Typerne fjernes, når koden omsættes til JavaScript, der kører.

Hvorfor bruger AI-app-builders TypeScript?

Typer giver AI'en og værktøjerne omkring den en hurtig måde at fange fejl på, fx at sende tekst, hvor der forventes et tal, eller at stave et feltnavn forkert. Fejl dukker op, før en bruger rammer dem, hvilket gør AI-genereret kode lettere at tjekke og ændre.

Gør TypeScript en app fejlfri?

Nej. Det fanger en hel klasse af fejl i datastrukturen, men ikke forkert forretningslogik, og det tjekker ikke data, der kommer ind under kørsel fra brugere eller API'er, medmindre du tilføjer validering.

Hvem laver TypeScript?

TypeScript er et open source-sprog udviklet af Microsoft. Det kører overalt, hvor JavaScript kører, herunder browsere, Node.js, Deno og Bun.

Mythex · Pricing · Byg hvad som helst med AI · Skabeloner til websites og apps · Mythex sammenlignet · Ordliste for app-bygning med AI · Gratis værktøjer til app-bygning med AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)