Hvis et produktkort forventer en pris som et tal, er det nyttigt at opdage, når en anden del af koden sender tekst. Men det er et andet problem end at undersøge, hvad en ekstern datakilde faktisk har sendt.
JavaScript er stadig grundlaget
Variable, funktioner, objekter, løkker og hændelser er relevante i begge sprog. TypeScript giver mulighed for at beskrive forventninger til de værdier, der bevæger sig gennem programmet. Du lærer derfor stadig JavaScripts adfærd, når du arbejder med TypeScript.
I et fiktivt produktkatalog kan en vare have et navn, en pris og en lagerstatus. En type kan beskrive denne aftale mellem kode, der leverer varen, og kode, der viser den. Det gør det lettere at undersøge, hvilke oplysninger et produktkort kræver, uden at skulle læse hele projektet først.
Typer kan opdage brud på en aftale tidligt
Forestil dig, at en beregning forventer et beløb som tal, men får teksten Gratis. En passende typebeskrivelse kan gøre uoverensstemmelsen synlig i editoren eller ved en kontrol af projektet. Det er især nyttigt, når flere funktioner eller personer arbejder med de samme oplysninger.
Værdien kommer også ved ændringer. Hvis pris omdøbes til prisInklMoms, kan kontrollen pege på kode, der stadig bruger det gamle felt. Det erstatter ikke forståelsen af moms eller virksomhedens regler. Det hjælper med at finde steder, hvor den aftalte struktur ikke længere hænger sammen.
Typekontrol og kontrol under kørsel er forskellige ting
TypeScript-typer beskriver koden før kørsel. De følger normalt ikke med som en automatisk kontrol af alle værdier i browseren. Et API kan sende en forkert struktur, en tom værdi eller et svar, som ikke længere passer til din beskrivelse. En skrevet type ændrer ikke indholdet af det svar.
Kontrollér derfor data ved grænsen til systemet. Er prisen et brugbart tal? Mangler navnet? Kan en dato fortolkes? Vælg en forståelig fejltilstand frem for at vise en misvisende beregning. Så supplerer de to former for kontrol hinanden: Typer hjælper udviklingen, mens datavalidering undersøger de faktiske værdier.
Vurder både hjælpen og arbejdet med opsætningen
TypeScript kan gøre et større projekt lettere at navigere i, men kræver også fælles beslutninger om typer, kontroller og håndtering af tredjepartskode. En hurtig engangsøvelse og et katalog, som flere personer skal vedligeholde, har forskellige behov. Valget bør passe til projektets levetid og kompleksitet.
Undgå at behandle fravær af typefejl som en samlet godkendelse. En knap kan have den rigtige type og stadig være ubrugelig med tastatur. En korrekt beskrevet beregning kan stadig anvende den forkerte regel. Gennemgå funktion, indhold og brugeroplevelse ud over de automatiske kontroller.
Lær det gennem en lille ændring
Lav først et enkelt produktkort og en beregning i JavaScript. Beskriv derefter varens forventede felter med TypeScript. Prøv bevidst at sende det forkerte felt eller den forkerte slags værdi. Se, hvad værktøjet finder, og hvad det ikke kan afgøre uden yderligere logik.
Tilføj til sidst data udefra og undersøg svaret, før det bruges. Øvelsen viser forskellen mellem at beskrive, hvad koden forventer, og at bevise, hvad der er modtaget. Den forståelse er mere holdbar end at lære en lang liste over avancerede typefunktioner uden et konkret behov.
Tag med videre
Det vigtigste
at huske.
- TypeScript supplerer JavaScript med statisk typekontrol.
- Data udefra kræver stadig kontrol af de faktiske værdier.
- Korrekte typer er én del af kvaliteten, sammen med funktion og brugeroplevelse.
Lad os gøre det klart
Spørgsmål & svar
Er TypeScript et alternativ til at lære JavaScript?
Nej. TypeScript deler JavaScripts grundlæggende syntaks og adfærd. Kendskab til JavaScript hjælper dig med at forstå, hvad dit TypeScript-program faktisk gør.
Kører browseren TypeScript direkte?
I almindelige webprojekter bliver TypeScript omdannet til JavaScript i udviklings- eller byggeprocessen. Browseren modtager derefter JavaScript-koden.
Gør TypeScript hjemmesiden hurtigere?
Typekontrollen er ikke i sig selv en ydelsesoptimering af den færdige side. Hastigheden afhænger af den kode og de ressourcer, som faktisk indlæses og udføres.
Kontrollerer TypeScript data fra et API?
Ikke automatisk. En typebeskrivelse kan være forkert i forhold til svaret. Data udefra skal undersøges under kørsel, hvis korrekt format og indhold er nødvendigt.
Hvad betyder statisk typekontrol?
Det er kontrol af kodens typer uden at udføre programmet som brugeren. Værktøjet kan eksempelvis finde, at en funktion får tekst, hvor den forventer et tal.
Kan man bruge JavaScript og TypeScript i samme projekt?
Ja, en gradvis overgang er mulig. Den konkrete opsætning skal støtte det, og teamet bør aftale, hvilke dele der kontrolleres, og hvordan fælles data beskrives.
Læs selv videre
Kilder & fordybelse
Guiden bygger på disse kilder og erfaring fra egne projekter.
