Kāpēc jums (iespējams) vajadzētu izmantot Typescript
Dominik Grzedzielski
Vecākais Software Engineer
Ikviens, kurš izmanto JavaScript ekosistēmu, mūsdienās zina par Typescript. Typescript ir viena no iecienītākajām tehnoloģijām*, un tās lietojums nepārtraukti pieaug (lietojuma daļa palielinājās no 52% 2018. gadā līdz 78% 2020. gadā)*.
Pašreizējais stāvoklis Mašīnraksts neradās no nekurienes, jo šī tehnoloģija spēj patiešām uzlabot mūsu izstrādātāju pieredzi. Skaidrāka kodēšana palielina kontroli un paredzamību. kods. Šajā rakstā es centīšos jūs pārliecināt izmantot Typescript.
Parasti, izstrādājot lietojumprogrammu programmā JavaScript, jūsu plūsma varētu izskatās šādi:
Veikt izmaiņas,
Dodieties uz lietotni un pārbaudiet mainīto daļu / Izpildīt (saistītos) testus.
Noskaidrojiet, vai viss ir kārtībā.
Izmantojot Typescript, varat veikt izmaiņas, un, ja ir kāds tipa kļūda kodā, jūs uzreiz uzzināsiet, pateicoties kompilatora kļūdas ziņojumam vai IDE reāllaika atgriezeniskajai saitei. Protams, Typescript kompilators neatrisinās visas problēmas un nebrīdinās par visām kļūdām, taču tā palīdzība var būt nenovērtējama.
Labāka sintakses pabeigšana IDE
Tas ir ļoti vienkārši. Ja izmantojat labas IDE, piemēram, WebStorm vai VSCode, jūs saņemsiet labāka sintakses papildināšana ar Typescript. Varbūt tas neizklausās kā milzīgs uzlabojums izstrādātāju pieredzē, bet galu galā katrs uzlabojums ir svarīgs, jo tas var ietaupīt. mums kādu laiku un atkal novērst pārrakstīšanās vai kļūdas. Turklāt mēs varam vienreiz definēt savu tipu vai saskarni; tā kā mums nav vienmēr jāatceras struktūra, mēs varam koncentrēties uz biznesa loģikas rakstīšanu.
Mazāk sāpīga refaktorizācija
Iedomājieties, ka kāda iemesla dēļ jums ir nepieciešams refaktors, piemēram, esat pievienojies kādam projekts un saņemat uzdevumu pievienot jaunu funkciju, bet šī funkcija ir kaut kādā veidā saistīta ar mantoto kodu. Typescript to var atvieglot un padarīt mazāk sāpīgu, jo, veicot izmaiņas un atrodoties vēl kādai citai vietai, kur jāveic izmaiņas, kompilators jūs par to brīdinās.
Piemēram, tas varētu būt izmainīts funkcijas paraksts vai, iespējams, pēc izmaiņu veikšanas. funkcija atgriezīs kaut ko pilnīgi atšķirīgu, tāpēc arī atgrieztais tips būs atšķirīgs.
Esi pārliecinātāks par kodu bāzi
JavaScript ir vāji un dinamiski tipizēts, tāpēc, inicializējot mainīgo ar vērtību let query = '' vēlāk kodā izstrādātājs var kļūdas pēc izdarīt kaut ko neracionālu, piemēram. vaicājums = true, un tas būs derīgs JS kods.
Labi uzrakstītā kodā bula vērtības piešķiršana mainīgajam, kas iepriekš bija virkne, nedrīkst notikt. Tāpēc parasti šāds piešķiršana ar tipa maiņu notiek kļūdas dēļ.
Lietojot Typescript, mēs nevaram mainīt mainīgā tipu, tāpēc, ja mēs mainīgo let query = '' mainīgais, tas būs virkne tips, un mēs nevarēsim mainīt tā tipu kļūdas pēc.
Ja vēlamies, lai mainīgajam būtu vairāk nekā viens tips, mēs vienmēr to darām, izmantojot union type, piemēram. virkne | numurs.
Tāpēc Typescript padara mūsu kodu paredzamāku un skaidrāku. Turklāt Typescript rūpēsies par nepārprotamu kontroles plūsmas analīzi, un, ja pastāv iespēja, ka kaut kas varētu notikt nepareizi, tas jūs par to brīdinās.
Šeit, piemēram, pirmajā piemērā ja blokā mēs saņemsim kļūdu:
TS2339: Īpašība 'battery' nepastāv tipam 'ClothingProduct' 2 reizes, lai akumulators, un ram īpašības.
Otrajā blokā - citādi, mēs saņemsim šo kļūdu par izmērs īpašums. Protams, tas ir tikai piemērs, lai parādītu. diskriminētas arodbiedrības un vadības plūsmas analīze darbojas Typescript, tāpēc mēs nedarām neko pārāk sarežģītu ar šo kodu.
Viegla, pakāpeniska migrācija no JavaScript
Derīgs JavaScript kods vienlaikus ir arī derīgs Typescript kods, tāpēc varat soli pa solim migrēt savu kodu bāzi. Parasti stingrā režīma izmantošana Typescript ir laba prakse, bet šajā gadījumā, mums jāsāk ar "strict": false vietnē tsconfig.json un mums vajadzētu iestatīt vēl 2 opcijas.
"allowJs": true, // tas ļaus mums izmantot .js failus un tips netiks pārbaudīts tajos
"skipLibCheck": true // tas izlaidīs tipu pārbaudi bibliotēkās, kuras mēs izmantojam.
Izmantojot šīs opcijas, mēs varam pakāpeniski migrēt no JS uz TS - failu pēc faila, vienkārši mainot paplašinājumu no .js(x) uz .ts(x) un failu tipu pievienošana. Izmantojot šo pieeju, mēs varam izvairīties no simtiem vai tūkstošiem biedējošu kompilēšanas kļūdu.
Kopsavilkums
Es domāju, ka mums vajadzētu izmantot Mašīnraksts tik bieži, cik bieži iespējams, jo ilgtermiņā tas ir patiešām izdevīgi. Tas palīdz uzturēt projektus, palielina izstrādātāju pieredzi un padara mūsu kodu bāzi skaidrāku un uzticamāku.
Tomēr, kā vienmēr, ir izņēmumi, piemēram, vienkāršas mērķlapas gadījumā. ja JavaScript tiek izmantots tikai klases pārslēgšanai vai citā vienkāršā gadījumā, Typescript nav jēgas. Turklāt jāatceras, ka, lai pilnībā izmantotu Typescript priekšrocības, ir jāmācās to lietot pietiekamā līmenī, un tas var prasīt laiku. Manuprāt, tas joprojām ir ļoti izdevīgs jūsu laika ieguldījums.