window.pipedriveLeadboosterConfig = { bas: 'leadbooster-chat.pipedrive.com', företagId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(funktion () { var w = fönster if (w.LeadBooster) { console.warn('LeadBooster finns redan') } annars { w.LeadBooster = { q: [], on: funktion (n, h) { this.q.push({ t: "o", n: n, h: h }) }, trigger: funktion (n) { this.q.push({ t: 't', n: n }) }, } } })() Varför du (förmodligen) bör använda Typescript - The Codest
Codest
  • Om oss
  • Tjänster
    • Utveckling av programvara
      • Frontend-utveckling
      • Backend-utveckling
    • Staff Augmentation
      • Frontend-utvecklare
      • Backend-utvecklare
      • Dataingenjörer
      • Ingenjörer inom molntjänster
      • QA-ingenjörer
      • Övriga
    • Det rådgivande
      • Revision och rådgivning
  • Industrier
    • Fintech & bankverksamhet
    • E-commerce
    • Adtech
    • Hälsoteknik
    • Tillverkning
    • Logistik
    • Fordon
    • IOT
  • Värde för
    • VD OCH KONCERNCHEF
    • CTO
    • Leveranschef
  • Vårt team
  • Fallstudier
  • Vet hur
    • Blogg
    • Möten
    • Webbinarier
    • Resurser
Karriär Ta kontakt med oss
  • Om oss
  • Tjänster
    • Utveckling av programvara
      • Frontend-utveckling
      • Backend-utveckling
    • Staff Augmentation
      • Frontend-utvecklare
      • Backend-utvecklare
      • Dataingenjörer
      • Ingenjörer inom molntjänster
      • QA-ingenjörer
      • Övriga
    • Det rådgivande
      • Revision och rådgivning
  • Värde för
    • VD OCH KONCERNCHEF
    • CTO
    • Leveranschef
  • Vårt team
  • Fallstudier
  • Vet hur
    • Blogg
    • Möten
    • Webbinarier
    • Resurser
Karriär Ta kontakt med oss
Pil tillbaka GÅ TILLBAKA
2021-03-26
Utveckling av programvara

Varför du (förmodligen) bör använda Typescript

Codest

Dominik Grzedzielski

Senior Software Engineer

Alla som använder JavaScript-ekosystemet känner numera till Typescript. Typescript är en av de mest älskade teknikerna* och dess användning ökar ständigt (användningsandelen ökade från 52% 2018 till 78% 2020)*.

Typescripts nuvarande position kom inte från ingenstans eftersom den tekniken verkligen kan förbättra vår utvecklarupplevelse. Mer explicit kodning ökar kontrollen och förutsägbarheten av kod.
I den här artikeln ska jag försöka övertyga dig om att använda Typescript.

*- Datakälla: Tillståndet för JS 2020 och Stack Overflow Developer Survey 2020.

Upptäck fel tidigare

När du utvecklar en applikation i en JavaScriptkan ditt flöde
se ut så här:

  1. Gör en förändring,
  2. Gå till appen och kolla in den ändrade delen / Kör (relaterade) tester.
  3. Ta reda på om allt är ok.

Med Typescript kan du faktiskt göra ändringen och om det finns någon Typfel i din kod, kommer du att veta det omedelbart tack vare kompilatorns felmeddelande eller IDE:s realtidsfeedback.
Typescript-kompilatorn kommer naturligtvis inte att lösa alla problem och inte heller varna för alla buggar, men dess hjälp kan vara ovärderlig.

Bättre syntaxkomplettering i IDE:er

Det är verkligen enkelt. Om du använder bra IDE:er, som WebStorm eller VSCode, kommer du att få
bättre syntaxkomplettering med Typescript. Det kanske inte låter som en enorm förbättring av utvecklarupplevelsen, men i slutändan är varje enskild förbättring viktig eftersom den kan spara oss lite tid och, återigen, förhindra ett skrivfel eller ett misstag. Vi kan också definiera vår typ eller vårt gränssnitt en gång; eftersom vi inte alltid behöver komma ihåg strukturen kan vi fokusera på att skriva affärslogik.

kod
JS-kod

Mindre smärtsam refaktorisering

Tänk dig att du av någon anledning måste göra en refaktorisering, till exempel att du har gått med i en projekt och du får i uppdrag att lägga till en ny funktion, men den funktionen är på något sätt kopplad till äldre kod.
Typescript kan göra det enklare och mindre smärtsamt, för när du gör en ändring och det finns ett annat ställe där du måste göra en annan ändring, kommer kompilatorn att varna dig för det.

Det kan till exempel vara en förändrad funktionssignatur eller kanske efter förändringen, en
funktionen kommer att returnera något helt annat, så även den returnerade typen kommer att skilja sig åt.

Bli mer säker på kodbasen

JavaScript är svagt och dynamiskt typad, så när du initialiserar en variabel med värdet låt fråga = '' senare i koden kan utvecklaren av misstag göra något irrationellt, t.ex. fråga = santoch det kommer att vara en giltig JS-kod.

I en välskriven kod ska det inte hända att man tilldelar ett booleskt värde till en variabel som tidigare var en sträng. Så vanligtvis beror den tilldelningen med typändring på ett misstag.

När vi använder Typescript kan vi inte ändra variabelns typ, så om vi gör variabeln låt fråga = '' variabel, kommer den att vara sträng typ och vi kommer inte att kunna ändra dess typ av misstag.

Om vi vill låta en variabel vara av mer än en typ gör vi det alltid explicit med hjälp av unionstyp, t.ex. sträng | tal.

Typescript gör därför vår kod mer förutsägbar och tydlig.
Typescript tar också hand om explicitet i kontrollflödesanalysen och om det finns en möjlighet att något kan gå fel kommer det att varna dig.

kodprov

Här i exempel i första om block kommer vi att få fel:

TS2339: Egenskapen 'battery' finns inte på typen 'ClothingProduct' 2 gånger, för batteri, och ram egenskaper.

I det andra blocket - annatkommer vi att få det felet för storlek egendom. Naturligtvis är det bara ett exempel för att visa dig hur diskriminerade fackföreningar och analys av kontrollflöde arbetar i Typescript, så vi gör inte något alltför komplext med den koden.

Enkel, progressiv migrering från JavaScript

Giltig JavaScript-kod är samtidigt giltig Typescript-kod, så att du kan migrera din kodbas steg för steg. Vanligtvis är det bra att använda strikt läge i Typescript, men i det här fallet,
måste vi börja med "strikt": falsk i tsconfig.json och vi bör också ställa in ytterligare 2 alternativ.

"allowJs": true, // det gör att vi kan använda .js-filer och typen kommer inte att kontrolleras i dem
"skipLibCheck": true // det kommer att hoppa över att kontrollera typer i bibliotek som vi använder

Med dessa alternativ kan vi migrera från JS till TS steg för steg - fil för fil, genom att helt enkelt ändra tillägget från .js(x) till .ts(x) och lägga till typer i filerna. Med den här metoden kan vi undvika hundratals eller tusentals läskiga kompileringsfel.

Sammanfattning

Jag tycker att vi ska använda Typsnitt så ofta som möjligteftersom det verkligen är fördelaktigt på lång sikt. Det hjälper till att underhålla projekt, ökar utvecklarnas erfarenhet och gör vår kodbas mer tydlig och tillförlitlig.

Men som alltid finns det undantag - till exempel för en enkel landningssida
där JavaScript endast används för att växla klass eller ett annat enkelt fall, Typescript är inte meningsfullt.
Vi måste också komma ihåg att för att dra full nytta av Typescript måste vi lära oss att använda det på en tillräcklig nivå, och det kan ta lite tid. Jag tror att det fortfarande är en mycket lönsam investering av din tid.

Läs mer om detta:

Ruby 3.0. Ruby och mindre kända metoder för sekretesskontroll

Kod av högsta kvalitet i ditt SaaS-projekt. Varför ska du bry dig om det som en (icke-teknisk) grundare?

* Titelgrafiken kommer från Know Your Meme-webbplatsen.

Relaterade artiklar

Utveckling av programvara

Bygg framtidssäkrade webbappar: Insikter från The Codest:s expertteam

Upptäck hur The Codest utmärker sig genom att skapa skalbara, interaktiva webbapplikationer med banbrytande teknik som ger sömlösa användarupplevelser på alla plattformar. Läs om hur vår expertis driver digital omvandling och affärsutveckling...

DEKODEST
Utveckling av programvara

Topp 10 Lettlandsbaserade mjukvaruutvecklingsföretag

Läs mer om Lettlands främsta mjukvaruutvecklingsföretag och deras innovativa lösningar i vår senaste artikel. Upptäck hur dessa teknikledare kan hjälpa till att lyfta ditt företag.

thecodest
Lösningar för företag och uppskalningsföretag

Java Software Development Essentials: En guide till framgångsrik outsourcing

Utforska denna viktiga guide om framgångsrik outsourcing av Java-programvaruutveckling för att förbättra effektiviteten, få tillgång till expertis och driva projektframgång med The Codest.

thecodest
Utveckling av programvara

Den ultimata guiden till outsourcing i Polen

Den kraftiga ökningen av outsourcing i Polen drivs av ekonomiska, utbildningsmässiga och tekniska framsteg, vilket främjar IT-tillväxt och ett företagsvänligt klimat.

TheCodest
Lösningar för företag och uppskalningsföretag

Den kompletta guiden till verktyg och tekniker för IT-revision

IT-revisioner säkerställer säkra, effektiva och kompatibla system. Läs mer om hur viktiga de är genom att läsa hela artikeln.

Codest
Jakub Jakubowicz CTO och medgrundare

Prenumerera på vår kunskapsbas och håll dig uppdaterad om expertisen från IT-sektorn.

    Om oss

    The Codest - Internationellt mjukvaruutvecklingsföretag med teknikhubbar i Polen.

    Förenade kungariket - Huvudkontor

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

    Polen - Lokala tekniknav

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

      Codest

    • Hem
    • Om oss
    • Tjänster
    • Fallstudier
    • Vet hur
    • Karriär
    • Ordbok

      Tjänster

    • Det rådgivande
    • Utveckling av programvara
    • Backend-utveckling
    • Frontend-utveckling
    • Staff Augmentation
    • Backend-utvecklare
    • Ingenjörer inom molntjänster
    • Dataingenjörer
    • Övriga
    • QA-ingenjörer

      Resurser

    • Fakta och myter om att samarbeta med en extern partner för mjukvaruutveckling
    • Från USA till Europa: Varför väljer amerikanska startup-företag att flytta till Europa?
    • Jämförelse av Tech Offshore Development Hubs: Tech Offshore Europa (Polen), ASEAN (Filippinerna), Eurasien (Turkiet)
    • Vilka är de största utmaningarna för CTO:er och CIO:er?
    • Codest
    • Codest
    • Codest
    • Privacy policy
    • Användarvillkor för webbplatsen

    Copyright © 2025 av The Codest. Alla rättigheter reserverade.

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