Typescript – z czym to się je?
TypeScript to nadzbiór języka JavaScript, który zdobył sobie dużą popularność w świecie programowania. Wprowadza on system typów i rozszerza składnię JavaScriptu, pozwala to na bardziej świadome zarządzanie danymi i unikanie wielu potencjalnych błędów. Osobiście, prawdopodobnie jak większość programistów, na początku mojej przygody z TS miałem w stosunku do niego mieszane uczucia, wydawał się on za trudny, a jego obsługa wymagała zbyt dużych nakładów pracy. Jednak teraz, gdy muszę czasem pracować ze starymi projektami, które nie posiadają TS, to jest dla mnie istna droga przez mękę.
Co zatem takiego daje nam TypeScript?
Tak naprawdę, jedyne co wprowadza to statyczne typowanie. To tylko tyle i aż tyle. Okazuje się, że naprawdę to niewiele potrzeba, by mocno zwiększyć czytelność kodu. Weźmy do tego mój ulubiony przykład, pokazujący jak cudownym językiem jest JavaScript:
const add = (a,b) => a+b
add (1,’1’) // wynik to ‘11’
Co tu się wydarzyło? Skąd taki wynik? Otóż po dodaniu wartości typu “string” do wartości typu “number” uzyskujemy wynik o typie “string” – kompilator traktuje obie wartości jak tekst, więc operacja dodawania na nich, łączy je w jedno słowo. Sprawia to, że jeśli chcieliśmy stworzyć kalkulator, to napisany kod nie działa prawidłowo.
Z rozwiązaniem przychodzi nam TypeScript, otóż wystarczy oznaczyć, jakiego typu funkcja przyjmuje parametry, oraz jaki jest typ zwracanej wartości:
const add = (a: string,b:string):string => a+b
add (1,’1’) // wynik to “Argument of type 'number' is not assignable to parameter of type 'string'.”
Już przy samej kompilacji dostajemy informacje, że coś jest nie tak. W ten sposób możemy unikać pojawiania się błędów w naszym kodzie – tutaj mówiliśmy o prostym przypadku, w którym rozwiązanie jest naprawdę proste. Ale Typescript, poprzez statyczne typowanie, nie tylko pomaga nam rozwiązywać problemy w istniejącym już kodzie, ale już na etapie pisania kodu rozszerza nam dostępne podpowiedzi w IDE.
Czy warto więc korzystać z tego „małego dodatku” do JavaScript? Osobiście nie wyobrażam sobie pracy bez niego. W każdym bardziej skomplikowanym projekcie, w którym komunikujemy się z jakimś API, TypeScript jest po prostu niezbędny.
Dodaj komentarz