Kdy má smysl předělat JavaScript na TypeScript a kdy je to zbytečná
Převod JavaScriptu na TypeScript není automaticky krok vpřed. Záleží na velikosti projektu, počtu lidí, kteří na něm pracují, a na tom, jak dlouho ho budete udržovat. Malý skript, který za měsíc skončí v koši, si typovou kontrolu nezaslouží. Naopak aplikace, kde se potkává pět vývojářů a která poběží roky, bez typů dřív nebo později narazí na chyby, které by odhalil už kompilátor.
Smysl dává TypeScript tam, kde se mění datové struktury. Jakmile začnete předávat objekty mezi moduly a jeden z nich má jiný tvar, než druhý očekává, JavaScript vás nechá ve štychu až za běhu. TypeScript tyto rozdíly odhalí při překladu. Stejně tak u rozsáhlých refaktoringů: když přejmenujete vlastnost, kterou používá třicet souborů, typová kontrola vám ukáže každé místo, které je potřeba opravit. To je úspora, kterou žádný testovací scénář nedožene. Pokud se učíte psát předvídatelný a udržovatelný kód, pomůže vám i návod, jak psát čistý kód v JavaScriptu, protože spousta pravidel platí v obou jazycích stejně.
Na druhé straně existují situace, kdy je převod zbytečná práce. Prototyp, který má ověřit nápad, nepotřebuje generiky ani rozhraní. Stejně tak jednorázový skript pro migraci dat, který spustíte jednou a zapomenete. Problém nastává i tehdy, když tým TypeScript nezná. Špatně napsané typy – plné any a ignorovaných chyb – jsou horší než žádné typy, protože vytvářejí falešný pocit bezpečí. A pokud kód běží v produkci bez větších změn, přepis jen kvůli módě znamená týdny práce bez měřitelného přínosu.
Rozhodujte se podle toho, kolik chyb vám dnes uniká do produkce a kolik času trávíte jejich hledáním. Když jsou to hodiny týdně, TypeScript se vyplatí. Když je to pár minut měsíčně, investice se nevrací. Nemusíte převádět všechno najednou – stačí zapnout povolený JavaScript a postupně typovat nové soubory. Někdy je lepší zůstat u JavaScriptu a jen zpřísnit kontrolu, jindy je přechod nevyhnutelný.