Guider

Hva er TypeScript? En enkel guide for ikke-utviklere

TypeScript er JavaScript med typer. Du legger til merkelapper som sier hvilken type data hver verdi skal være – et tall, en tekst, en liste med bestillinger – og TypeScript sjekker koden for avvik før den noen gang kjøres. TypeScript-nettstedet beskriver det som «JavaScript med syntaks for typer». Typene fjernes når koden gjøres om til vanlig JavaScript, som deretter kjører overalt JavaScript kjører.

Hvorfor det betyr noe når du bygger med AI

AI-modeller skriver kode raskt, og raskt skrevet kode har feil: et felt kalt customerName i én fil og customer_name i en annen, en pris sendt som tekst i stedet for et tall, en funksjon kalt med en manglende verdi. I vanlig JavaScript viser mange av disse feilene seg først når noen klikker på feil knapp.

TypeScript fanger mange av dem tidligere, mens koden skrives:

  • AI-en får umiddelbar tilbakemelding. Typefeil peker på den nøyaktige linjen som er feil, så agenten kan rette den før du ser den.
  • Endringer er tryggere. Gi et felt nytt navn, og TypeScript flagger hvert sted som fortsatt bruker det gamle navnet.
  • Koden forklarer seg selv. Typer dokumenterer hva en funksjon forventer og returnerer, noe som hjelper deg, AI-en og alle utviklere som jobber med den senere.
  • Editorene blir smartere. Autofullføring og «gå til definisjon» fungerer bedre fordi editoren vet hva hver verdi er.

Dette er en viktig grunn til at mange AI-appbyggere bruker TypeScript som standard.

En hverdagslig sammenligning

Tenk på et lager med merkede rom. Hvert rom har en skilt: «Kun paller», «Kjølt», «Maks 500 kg». Når en leveranse kommer, sammenligner en kontrollør i døren varene med skiltet. Frossen fisk på vei til tørrvarerommet stoppes i døren, og oppdages ikke en uke senere når den lukter.

TypeScript er kontrolløren i døren. Typene er skiltene. Kontrollen skjer før varene – koden din – tas i bruk. Og når alt står på plass, fjernes skiltene: det kjørende JavaScriptet har ingen typer igjen.

Slik fungerer TypeScript

  1. Du (eller AI-en) skriver .ts- eller .tsx-filer – TypeScript, med typemerkelapper.
  2. Typesjekkeren leser koden og rapporterer avvik som feil i editoren eller ved bygging.
  3. Et byggetrinn fjerner typene, og gir vanlig JavaScript.
  4. JavaScriptet kjører i nettleseren eller på en server (Node.js, Deno, Bun).

En viktig konsekvens: TypeScript sjekker koden du skrev, ikke dataene som kommer inn mens appen kjører. Hvis et eksternt API sender tilbake noe uventet, kan ikke TypeScript se det med mindre du legger til validering under kjøring.

Et praktisk eksempel: et bookingskjema

Anta at du bygger en bookingapp for en frisørsalong. Her er en type som beskriver en booking:

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

Og en funksjon som regner ut et depositum:

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

Se nå hva TypeScript fanger.

Et feilstavet felt.

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

TypeScript rapporterer at prise ikke er en kjent egenskap, og at price mangler. I vanlig JavaScript ville dette stille beregnet et depositum på NaN (ikke et tall).

Feil type verdi.

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

TypeScript rapporterer at en tekst ikke kan brukes der et tall forventes. Uten det fungerer "40" * 0.2 tilfeldigvis, men "40" + 5 gir "405" – den typen feil som dukker opp på en faktura.

En tjeneste som ikke finnes.

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

TypeScript rapporterer at "perm" ikke er en av de tillatte tjenestene. Når salongen senere legger til permanent, legger du det til i typen, og TypeScript viser hvert sted som må oppdateres – prislisten, skjemaet, kalenderfargene.

Hva det ikke kan fange. Hvis bookingskjemaet sender price: "40" fra nettleseren til serveren, ser ikke TypeScript på serveren det under kjøring. Derfor validerer velbygde apper også innkommende data, ofte med et valideringsbibliotek som sjekker strukturen og gjør den om til en riktig Booking.

TypeScript kontra JavaScript

JavaScriptTypeScript
Hva det erSpråket nettlesere kjørerJavaScript pluss typesyntaks
Kjører direkte i nettlesereJaGjøres først om til JavaScript
Fanger typefeilUnder kjøring, hvis i det hele tattMens du skriver, før kjøring
OppsettIngenEt byggetrinn (håndteres vanligvis av verktøy som Vite eller Next.js)
Passer tilSmå skript, raske eksperimenterApper som skal vokse og endres
Filendelser.js, .jsx.ts, .tsx

Vanlige begreper forklart

BegrepBetydning
TypeEn beskrivelse av hva en verdi kan være: et tall, en tekst, en bestemt objektform.
TypeannotasjonEn merkelapp skrevet i koden, som price: number.
TypeinferensAt TypeScript finner ut en type selv, uten merkelapp.
Interface / typealiasEn navngitt beskrivelse av et objekts form, som Booking.
UnionstypeEn verdi som kan være ett av flere valg, som "haircut" | "colour".
Valgfri egenskapEt felt som kan mangle, markert med ?.
anyEn type som slår av sjekking for en verdi – en nødutgang som bør brukes sparsomt.
TypefeilTypeScripts melding om at noe ikke stemmer.
Kompilere / transpilereÅ gjøre TypeScript om til JavaScript.
.tsxEn TypeScript-fil som inneholder JSX, brukt i React-apper.
tsconfig.jsonInnstillingsfilen for hvor strengt TypeScript sjekker prosjektet.
Validering under kjøringÅ sjekke ekte innkommende data mens appen kjører.

Vanlige feil og misforståelser

  • «TypeScript gjør koden feilfri.» Det fanger avvik i datastrukturen, ikke feil logikk. Et depositum på 2 % i stedet for 20 % passerer typesjekken.
  • «Typer beskytter meg mot dårlig input.» Typer forsvinner under kjøring. Valider data fra brukere, skjemaer og API-er.
  • any overalt. Når en AI står fast, kan den ta i bruk any eller // @ts-ignore for å dempe feil. Det skjuler problemer i stedet for å løse dem.
  • Å ignorere typefeil fordi forhåndsvisningen fungerer. Noen verktøy kjører fortsatt kode med typefeil. Feilene er fortsatt feil som venter på å skje.
  • «TypeScript er tregere.» Typene fjernes før kjøring; JavaScriptet som kjøres er i praksis det samme.
  • «Det er bare for store team.» Soloutviklere har også nytte av det, særlig når en AI gjør de fleste endringene.

Hva du bør be AI-byggeren om

  • «Bruk TypeScript med streng modus på.»
  • «Definer felles typer for de viktigste postene våre – Customer, Booking, Invoice – og bruk dem både i frontend og backend.»
  • «Ikke bruk any eller @ts-ignore for å komme forbi feil; løs det underliggende problemet og fortell meg hva det var.»
  • «Valider all innkommende data på serveren, ikke bare med typer.»
  • «Kjør typesjekkeren og rett alle feil før du sier at det er ferdig.»
  • «Når du gir et felt nytt navn, oppdater hvert sted TypeScript flagger.»
  • «Forklar denne typefeilen på vanlig norsk.»

For mer om hvordan du kontrollerer det AI-en produserte, se slik gjennomgår du AI-generert kode og slik feilsøker du en AI-bygd app.

TypeScript i Mythex

Når du ikke ber om noe spesielt, starter Mythex nye prosjekter på Vite + React + TypeScript + Tailwind. Kodeeditoren har språkstøtte – fullføring, diagnostikk og gå-til-definisjon for TypeScript og JavaScript, blant andre språk – så typefeil er synlige i koden, ikke bare i forhåndsvisningen. Editoren er skrivebeskyttet på Free og fullt redigerbar på Pro. Du kan fortsatt be om et annet oppsett i første prompt; dokumentasjonssiden om hvordan teknologien velges forklarer hvordan, og dokumentasjonen for kodeeditoren dekker hva editoren viser.

Spørsmål

Hva er TypeScript på enkelt språk?

TypeScript er JavaScript med typer. Du merker hvilken type data hver verdi skal være, for eksempel et tall, en tekst eller en kundepost, og TypeScript sjekker koden for avvik før den kjøres. Deretter gjøres den om til vanlig JavaScript.

Er TypeScript et annet språk enn JavaScript?

Det er et supersett av JavaScript: JavaScript pluss ekstra syntaks for typer. TypeScript-nettstedet beskriver det som JavaScript med syntaks for typer. Typene fjernes når koden gjøres om til JavaScript som kjøres.

Hvorfor bruker AI-appbyggere TypeScript?

Typer gir AI-en, og verktøyene rundt den, en rask måte å fange feil på, for eksempel at det sendes tekst der det forventes et tall, eller at et feltnavn er stavet feil. Feil vises før en bruker treffer dem, noe som gjør AI-generert kode lettere å sjekke og endre.

Gjør TypeScript appen feilfri?

Nei. Det fanger en hel klasse feil om hvordan data er strukturert, men ikke feil forretningslogikk, og det sjekker ikke data som kommer fra brukere eller API-er mens appen kjører, med mindre du legger til validering.

Hvem lager TypeScript?

TypeScript er et åpen kildekode-språk utviklet av Microsoft. Det kjører overalt der JavaScript kjører, inkludert nettlesere, Node.js, Deno og Bun.

Mythex · Pricing · Bygg hva som helst med KI · Maler for nettsider og apper · Mythex sammenlignet · Ordliste for app-bygging med KI · Gratis verktøy for app-bygging med KI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk 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 မြန်မာ 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 简体中文 繁體中文(香港) 繁體中文(台灣)