window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster już istnieje') } 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 }) }, } } })() Dlaczego (prawdopodobnie) powinieneś używać Typescript - The Codest
The Codest
  • O nas
  • Nasze Usługi
    • Software Development
      • Frontend Development
      • Backend Development
    • Zespoły IT
      • Programiści frontendowi
      • Backend Dev
      • Inżynierowie danych
      • Inżynierowie rozwiązań chmurowych
      • Inżynierowie QA
      • Inne
    • Konsultacje IT
      • Audyt i doradztwo
  • Branże
    • Fintech i bankowość
    • E-commerce
    • Adtech
    • Healthtech
    • Produkcja
    • Logistyka
    • Motoryzacja
    • IOT
  • Wartość dla
    • CEO
    • CTO
    • Delivery Managera
  • Nasz zespół
  • Case Studies
  • Nasze Know How
    • Blog
    • Meetups
    • Webinary
    • Raporty
Kariera Skontaktuj się z nami
  • O nas
  • Nasze Usługi
    • Software Development
      • Frontend Development
      • Backend Development
    • Zespoły IT
      • Programiści frontendowi
      • Backend Dev
      • Inżynierowie danych
      • Inżynierowie rozwiązań chmurowych
      • Inżynierowie QA
      • Inne
    • Konsultacje IT
      • Audyt i doradztwo
  • Wartość dla
    • CEO
    • CTO
    • Delivery Managera
  • Nasz zespół
  • Case Studies
  • Nasze Know How
    • Blog
    • Meetups
    • Webinary
    • Raporty
Kariera Skontaktuj się z nami
Strzałka w tył WSTECZ
2021-03-26
Software Development

Dlaczego (prawdopodobnie) powinieneś używać Typescript

The Codest

Dominik Grzedzielski

Senior Software Engineer

Każdy, kto korzysta z ekosystemu JavaScript, jest dziś świadomy istnienia Typescript. Typescript jest jedną z najbardziej lubianych technologii*, a jego użycie stale rośnie (udział w użyciu wzrósł z 52% w 2018 roku do 78% w 2020 roku)*.

Obecna pozycja Typescript nie wzięła się znikąd, ponieważ technologia ta jest w stanie naprawdę poprawić nasze doświadczenie programistyczne. Bardziej przejrzyste kodowanie zwiększa kontrolę i przewidywalność kod.
W tym artykule postaram się przekonać Cię do korzystania z Typescript.

*- Źródło danych: Stan JS 2020 i Ankieta dla programistów Stack Overflow 2020.

Dowiedz się o błędach wcześniej

Zazwyczaj podczas tworzenia aplikacji w aplikacji JavaScriptprzepływ może
wyglądają następująco:

  1. Dokonaj zmiany,
  2. Przejdź do aplikacji i sprawdź zmienioną część / Uruchom (powiązane) testy.
  3. Sprawdź, czy wszystko jest w porządku.

Dzięki Typescript możesz faktycznie wprowadzić zmianę i jeśli jest jakaś błąd typu w kodzie, dowiesz się o tym natychmiast dzięki komunikatowi o błędzie kompilatora lub informacji zwrotnej IDE w czasie rzeczywistym.
Oczywiście kompilator Typescript nie rozwiąże każdego problemu i nie ostrzeże o wszystkich błędach, ale jego pomoc może być nieoceniona.

Lepsze uzupełnianie składni w IDE

To naprawdę proste. Jeśli korzystasz z dobrych IDE, takich jak WebStorm lub VSCode, otrzymasz
lepsze uzupełnianie składni w Typescript. Może nie brzmi to jak ogromna poprawa doświadczenia programisty, ale ostatecznie każde pojedyncze ulepszenie ma znaczenie, ponieważ może zaoszczędzić nam trochę czasu i ponownie zapobiec literówce lub błędowi. Ponadto możemy raz zdefiniować nasz typ lub interfejs; ponieważ nie musimy zawsze pamiętać o strukturze, możemy skupić się na pisaniu logiki biznesowej.

kod
Kod JS

Mniej bolesna refaktoryzacja

Wyobraź sobie, że z jakiegokolwiek powodu musisz przeprowadzić refaktoryzację, na przykład dołączyłeś do projekt i otrzymujesz zadanie dodania nowej funkcji, ale ta funkcja jest w jakiś sposób powiązana ze starszym kodem.
Typescript może sprawić, że będzie to łatwiejsze i mniej bolesne, ponieważ gdy dokonasz zmiany i jest inne miejsce, w którym musisz dokonać kolejnej zmiany, kompilator ostrzeże cię o tym.

Na przykład - może to być zmieniona sygnatura funkcji lub, po zmianie, plik
funkcja zwróci coś zupełnie innego, więc również zwracany typ będzie inny.

Większa pewność co do bazy kodu

JavaScript jest słabo i dynamicznie typowany, więc po zainicjowaniu zmiennej wartością let query = '' Później w kodzie programista może przez pomyłkę zrobić coś irracjonalnego, na przykład query = truei będzie to prawidłowy kod JS.

W dobrze napisanym kodzie przypisanie wartości logicznej do zmiennej, która wcześniej była ciągiem znaków, nie powinno mieć miejsca. Zazwyczaj więc przypisanie ze zmianą typu jest wynikiem błędu.

Podczas korzystania z Typescript nie możemy zmienić typu zmiennej, więc jeśli utworzymy zmienną let query = '' zmienna, będzie to ciąg i nie będziemy w stanie zmienić jego typu przez pomyłkę.

Jeśli chcemy, aby zmienna była więcej niż jednego typu, zawsze robimy to jawnie za pomocą unii typów, na przykład ciąg znaków | liczba.

Dlatego też Typescript sprawia, że nasz kod jest bardziej przewidywalny i jednoznaczny.
Ponadto Typescript zadba o jawność w analizie przepływu sterowania i jeśli istnieje możliwość, że coś może pójść nie tak, ostrzeże cię.

przykładowy kod

Tutaj w przykładzie pierwszym jeśli otrzymamy błąd:

TS2339: Właściwość "battery" nie istnieje w typie "ClothingProduct". 2 razy, dla bateriaoraz baran właściwości.

W drugim bloku - innyotrzymamy ten błąd dla rozmiar własność. Oczywiście jest to tylko przykład pokazujący, w jaki sposób dyskryminowane związki zawodowe i analiza przepływu sterowania działa w Typescript, więc nie robimy nic zbyt skomplikowanego z tym kodem.

Łatwa, stopniowa migracja z JavaScript

Poprawny kod JavaScript jest jednocześnie poprawnym kodem Typescript, więc możesz migrować swoją bazę kodu krok po kroku. Zazwyczaj używanie trybu ścisłego w Typescript jest dobrą praktyką, ale w tym przypadku,
musimy zacząć od "strict": false w tsconfig.json i powinniśmy również ustawić 2 dodatkowe opcje.

"allowJs": true, // pozwoli nam to na używanie plików .js, a typ nie będzie w nich sprawdzany
"skipLibCheck": true // pominie sprawdzanie typów w bibliotekach, których używamy

Dzięki tym opcjom możemy migrować z JS do TS krok po kroku - plik po pliku, po prostu zmieniając rozszerzenie z .js(x) do .ts(x) i dodawanie typów w plikach. Korzystając z tego podejścia, możemy uniknąć setek lub tysięcy przerażających błędów kompilacji.

Podsumowanie

Myślę, że powinniśmy użyć Maszynopis tak często jak możliwyponieważ jest to naprawdę korzystne w dłuższej perspektywie. Pomaga w utrzymaniu projektów, zwiększa doświadczenie programistów i sprawia, że nasza baza kodu jest bardziej przejrzysta i niezawodna.

Jednak, jak zawsze, istnieją wyjątki - na przykład dla prostej strony docelowej
gdzie JavaScript jest używany tylko do przełączania klasy lub innego prostego przypadku, Typescript nie ma sensu.
Trzeba też pamiętać, że aby w pełni wykorzystać możliwości Typescriptu, musimy nauczyć się go używać na wystarczającym poziomie, a to może zająć trochę czasu. Mimo wszystko uważam, że jest to bardzo opłacalna inwestycja czasu.

Czytaj więcej:

Ruby 3.0. Ruby i mniej znane metody kontroli prywatności

Najwyższa jakość kodu w projekcie SaaS. Dlaczego powinieneś się tym przejmować jako (nietechniczny) założyciel?

*Grafika tytułowa pochodzi ze strony Know Your Meme.

Powiązane artykuły

Software Development

Tworzenie przyszłościowych aplikacji internetowych: spostrzeżenia zespołu ekspertów The Codest

Odkryj, w jaki sposób The Codest wyróżnia się w tworzeniu skalowalnych, interaktywnych aplikacji internetowych przy użyciu najnowocześniejszych technologii, zapewniając płynne doświadczenia użytkowników na wszystkich platformach. Dowiedz się, w jaki sposób nasza wiedza napędza transformację cyfrową i biznes...

THEECODEST
Software Development

10 najlepszych firm tworzących oprogramowanie na Łotwie

Dowiedz się więcej o najlepszych łotewskich firmach programistycznych i ich innowacyjnych rozwiązaniach w naszym najnowszym artykule. Odkryj, w jaki sposób ci liderzy technologiczni mogą pomóc w rozwoju Twojej firmy.

thecodest
Rozwiązania dla przedsiębiorstw i scaleupów

Podstawy tworzenia oprogramowania Java: Przewodnik po skutecznym outsourcingu

Zapoznaj się z tym niezbędnym przewodnikiem na temat skutecznego tworzenia oprogramowania Java outsourcing, aby zwiększyć wydajność, uzyskać dostęp do wiedzy specjalistycznej i osiągnąć sukces projektu z The Codest.

thecodest
Software Development

Kompletny przewodnik po outsourcingu w Polsce

Wzrost liczby outsourcing w Polsce jest napędzany przez postęp gospodarczy, edukacyjny i technologiczny, sprzyjający rozwojowi IT i przyjazny klimat dla biznesu.

TheCodest
Rozwiązania dla przedsiębiorstw i scaleupów

Kompletny przewodnik po narzędziach i technikach audytu IT

Audyty IT zapewniają bezpieczne, wydajne i zgodne z przepisami systemy. Dowiedz się więcej o ich znaczeniu, czytając cały artykuł.

The Codest
Jakub Jakubowicz CTO & Współzałożyciel

Subskrybuj naszą bazę wiedzy i bądź na bieżąco!

    O nas

    The Codest - Międzynarodowa firma programistyczna z centrami technologicznymi w Polsce.

    Wielka Brytania - siedziba główna

    • Office 303B, 182-184 High Street North E6 2JA
      Londyn, Anglia

    Polska - lokalne centra technologiczne

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

      The Codest

    • Strona główna
    • O nas
    • Nasze Usługi
    • Case Studies
    • Nasze Know How
    • Kariera
    • Słownik

      Nasze Usługi

    • Konsultacje IT
    • Software Development
    • Backend Development
    • Frontend Development
    • Zespoły IT
    • Backend Dev
    • Inżynierowie rozwiązań chmurowych
    • Inżynierowie danych
    • Inne
    • Inżynierowie QA

      Raporty

    • Fakty i mity na temat współpracy z zewnętrznym partnerem programistycznym
    • Z USA do Europy: Dlaczego amerykańskie startupy decydują się na relokację do Europy?
    • Porównanie centrów rozwoju Tech Offshore: Tech Offshore Europa (Polska), ASEAN (Filipiny), Eurazja (Turcja)
    • Jakie są największe wyzwania CTO i CIO?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Warunki korzystania z witryny

    Copyright © 2025 by The Codest. Wszelkie prawa zastrzeżone.

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