window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(funktion () { var w = vindue if (w.LeadBooster) { console.warn('LeadBooster findes allerede') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Hvorfor du (sandsynligvis) bør bruge Typescript - The Codest
Codest
  • Om os
  • Serviceydelser
    • Udvikling af software
      • Frontend-udvikling
      • Backend-udvikling
    • Staff Augmentation
      • Frontend-udviklere
      • Backend-udviklere
      • Dataingeniører
      • Cloud-ingeniører
      • QA-ingeniører
      • Andet
    • Det rådgivende
      • Revision og rådgivning
  • Industrier
    • Fintech og bankvirksomhed
    • E-commerce
    • Adtech
    • Sundhedsteknologi
    • Produktion
    • Logistik
    • Biler
    • IOT
  • Værdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leder af levering
  • Vores team
  • Casestudier
  • Ved hvordan
    • Blog
    • Møder
    • Webinarer
    • Ressourcer
Karriere Tag kontakt til os
  • Om os
  • Serviceydelser
    • Udvikling af software
      • Frontend-udvikling
      • Backend-udvikling
    • Staff Augmentation
      • Frontend-udviklere
      • Backend-udviklere
      • Dataingeniører
      • Cloud-ingeniører
      • QA-ingeniører
      • Andet
    • Det rådgivende
      • Revision og rådgivning
  • Værdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leder af levering
  • Vores team
  • Casestudier
  • Ved hvordan
    • Blog
    • Møder
    • Webinarer
    • Ressourcer
Karriere Tag kontakt til os
Pil tilbage GÅ TILBAGE
2021-03-26
Udvikling af software

Hvorfor du (sandsynligvis) bør bruge Typescript

Codest

Dominik Grzedzielski

Senior Software Engineer

Alle, der bruger JavaScript-økosystemet, er i dag opmærksomme på Typescript. Typescript er en af de mest elskede teknologier*, og brugen af den stiger konstant (andelen af brugere steg fra 52% i 2018 til 78% i 2020)*.

Typescripts nuværende position kom ikke ud af ingenting, da denne teknologi virkelig er i stand til at forbedre vores udvikleroplevelse. Mere eksplicit kodning øger kontrollen og forudsigeligheden af Kode.
I denne artikel vil jeg forsøge at overbevise dig om at bruge Typescript.

*- Datakilde: Tilstanden i JS 2020 og Stack Overflow-udviklerundersøgelse 2020.

Find ud af om der er fejl tidligere

Normalt, når du udvikler en applikation i JavaScriptkan dit flow måske
se sådan her ud:

  1. Lav en forandring,
  2. Gå til appen, og tjek den ændrede del / Kør (relaterede) tests.
  3. Find ud af, om alt er i orden.

Med Typescript kan du faktisk foretage ændringen, og hvis der er nogen Typefejl i din kode, vil du vide det med det samme takket være compilerens fejlmeddelelse eller IDE's feedback i realtid.
Typescript-compileren løser selvfølgelig ikke alle problemer og advarer ikke om alle fejl, men dens hjælp kan være uvurderlig.

Bedre syntaksfuldførelse i IDE'er

Det er meget enkelt. Hvis du bruger gode IDE'er som WebStorm eller VSCode, vil du få
bedre syntaksafslutning med Typescript. Måske lyder det ikke som en stor forbedring af udvikleroplevelsen, men i sidste ende betyder hver eneste forbedring noget, da den kan spare os for tid og igen forhindre en tastefejl eller en fejl. Vi kan også definere vores type eller interface én gang; da vi ikke altid behøver at huske strukturen, kan vi fokusere på at skrive forretningslogik.

Kode
JS-kode

Mindre smertefuld refaktorering

Forestil dig, at du er nødt til at refaktorere af en eller anden grund, for eksempel har du sluttet dig til en projekt og du får til opgave at tilføje en ny funktion, men den funktion er på en eller anden måde forbundet med ældre kode.
Typescript kan gøre det lettere og mindre smertefuldt, for når du foretager en ændring, og der er et andet sted, hvor du skal foretage en anden ændring, vil compileren advare dig om det.

Det kan f.eks. være en ændret funktionssignatur eller måske efter ændringen en
funktion vil returnere noget helt andet, så også den returnerede type vil være forskellig.

Vær mere sikker på kodebasen

JavaScript er svagt og dynamisk typet, så når du initialiserer en variabel med værdien lad forespørgsel = '' Senere i koden kan udvikleren komme til at gøre noget irrationelt ved en fejl, f.eks. forespørgsel = true, og det vil være gyldig JS-kode.

I en velskrevet kode burde det ikke ske, at man tildeler en boolsk værdi til en variabel, der tidligere var en streng. Så normalt skyldes denne tildeling med typeændring en fejl.

Når vi bruger Typescript, kan vi ikke ændre typen af variablen, så hvis vi laver lad forespørgsel = '' variabel, vil det være streng og vi vil ikke kunne ændre dens type ved en fejl.

Hvis vi vil lade en variabel være mere end én type, gør vi det altid eksplicit ved at bruge union type, for eksempel streng | tal.

Derfor gør Typescript vores kode mere forudsigelig og eksplicit.
Typescript tager sig også af eksplicitering i kontrolstrømsanalysen, og hvis der er mulighed for, at noget kan gå galt, vil den advare dig.

Kodeeksempel

Her i eksempel i første hvis blok får vi en fejl:

TS2339: Egenskaben 'batteri' findes ikke på typen 'ClothingProduct'. 2 gange, for Batteriog Vædder egenskaber.

I anden blok - ellersfår vi den fejl for størrelse ejendom. Det er selvfølgelig kun et eksempel for at vise dig, hvordan diskriminerede fagforeninger og Analyse af kontrolflow arbejder i Typescript, så vi gør ikke noget alt for komplekst med den kode.

Nem, progressiv migration fra JavaScript

Gyldig JavaScript-kode er samtidig gyldig Typescript-kode, så du kan migrere din kodebase trin for trin. Normalt er det god praksis at bruge strict mode i Typescript, men i dette tilfælde,
Vi er nødt til at starte med "strict": falsk i tsconfig.json og vi bør også indstille yderligere 2 muligheder.

"allowJs": true, // det giver os mulighed for at bruge .js-filer, og typen vil ikke blive kontrolleret i dem
"skipLibCheck": true // det vil springe kontrol af typer i biblioteker, som vi bruger, over

Med disse muligheder kan vi migrere fra JS til TS trin for trin - fil for fil, blot ved at ændre udvidelsen fra .js(x) til .ts(x) og tilføje typer i filerne. Med denne tilgang kan vi undgå hundredvis eller tusindvis af skræmmende kompileringsfejl.

Sammenfatning

Jeg synes, vi skal bruge Manuskript så ofte som muligtfordi det virkelig er gavnligt på lang sigt. Det hjælper med at vedligeholde projekter, øger udviklernes erfaring og gør vores kodebase mere eksplicit og pålidelig.

Men som altid er der undtagelser - for eksempel for en simpel landingsside
hvor JavaScript kun bruges til at skifte klasse eller et andet simpelt tilfælde, giver Typescript ingen mening.
Vi skal også huske, at for at få fuldt udbytte af Typescript skal vi lære at bruge det på et tilstrækkeligt niveau, og det kan tage noget tid. Jeg tror stadig, at det er en meget rentabel investering af din tid.

Læs mere om det:

Ruby 3.0. Ruby og mindre kendte metoder til kontrol af privatlivets fred

Kode af højeste kvalitet i dit SaaS-projekt. Hvorfor skal du bekymre dig om det som (ikke-teknisk) grundlægger?

*Titelgrafikken kommer fra Know Your Meme-webstedet.

Relaterede artikler

Udvikling af software

Byg fremtidssikrede webapps: Indsigt fra The Codest's ekspertteam

Oplev, hvordan The Codest udmærker sig ved at skabe skalerbare, interaktive webapplikationer med banebrydende teknologier, der leverer sømløse brugeroplevelser på tværs af alle platforme. Lær, hvordan vores ekspertise driver digital transformation og...

DENKODEST
Udvikling af software

Top 10 Letlands-baserede softwareudviklingsvirksomheder

Læs om Letlands bedste softwareudviklingsvirksomheder og deres innovative løsninger i vores seneste artikel. Find ud af, hvordan disse teknologiledere kan hjælpe med at løfte din virksomhed.

thecodest
Løsninger til virksomheder og scaleups

Grundlæggende om Java-softwareudvikling: En guide til succesfuld outsourcing

Udforsk denne vigtige guide til vellykket outsourcing af Java-softwareudvikling for at forbedre effektiviteten, få adgang til ekspertise og skabe projektsucces med The Codest.

thecodest
Udvikling af software

Den ultimative guide til outsourcing i Polen

Den voldsomme stigning i outsourcing i Polen er drevet af økonomiske, uddannelsesmæssige og teknologiske fremskridt, der fremmer it-vækst og et erhvervsvenligt klima.

TheCodest
Løsninger til virksomheder og scaleups

Den komplette guide til IT-revisionsværktøjer og -teknikker

IT-revisioner sikrer sikre, effektive og kompatible systemer. Lær mere om deres betydning ved at læse hele artiklen.

Codest
Jakub Jakubowicz CTO og medstifter

Tilmeld dig vores vidensbase, og hold dig opdateret om ekspertisen fra it-sektoren.

    Om os

    The Codest - International softwareudviklingsvirksomhed med tech-hubs i Polen.

    Storbritannien - Hovedkvarter

    • Kontor 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokale teknologiske knudepunkter

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Hjerneambassaden, Konstruktorska
      11, 02-673 Warszawa, Polen

      Codest

    • Hjem
    • Om os
    • Serviceydelser
    • Casestudier
    • Ved hvordan
    • Karriere
    • Ordbog

      Serviceydelser

    • Det rådgivende
    • Udvikling af software
    • Backend-udvikling
    • Frontend-udvikling
    • Staff Augmentation
    • Backend-udviklere
    • Cloud-ingeniører
    • Dataingeniører
    • Andet
    • QA-ingeniører

      Ressourcer

    • Fakta og myter om at samarbejde med en ekstern softwareudviklingspartner
    • Fra USA til Europa: Hvorfor beslutter amerikanske startups sig for at flytte til Europa?
    • Sammenligning af Tech Offshore-udviklingsknudepunkter: Tech Offshore Europa (Polen), ASEAN (Filippinerne), Eurasien (Tyrkiet)
    • Hvad er de største udfordringer for CTO'er og CIO'er?
    • Codest
    • Codest
    • Codest
    • Privacy policy
    • Vilkår for brug af hjemmesiden

    Copyright © 2025 af The Codest. Alle rettigheder forbeholdes.

    da_DKDanish
    en_USEnglish de_DEGerman sv_SESwedish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek da_DKDanish