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

Abstrakcyjna ilustracja malejącego wykresu słupkowego z rosnącą strzałką i złotą monetą symbolizującą efektywność kosztową lub oszczędności. Logo The Codest pojawia się w lewym górnym rogu wraz ze sloganem "In Code We Trust" na jasnoszarym tle.
Software Development

Jak skalować zespół programistów bez utraty jakości produktu?

Skalujesz swój zespół programistów? Dowiedz się, jak się rozwijać bez poświęcania jakości produktu. W tym przewodniku omówiono oznaki, że nadszedł czas na skalowanie, strukturę zespołu, zatrudnianie, przywództwo i narzędzia - a także sposób, w jaki The Codest może...

THEECODEST
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

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