Nowa wersja TypeScript już dostępna

Microsoft podzielił się właśnie najnowszą wersją języka TypeScript, czyli wydaniem 4.0. Twórcy twierdzą, że wydanie to jest początkiem nowej generacji aktualizacji tej technologii, ponieważ teraz nacisk jest kładziony na ekspresyjność, produktywność oraz skalowalność. Pomimo że Daniel Rosenwasser, czyli Program Manager TypeScript, twierdzi na blogu poświęconym wydaniu, że nie pojawiają się tutaj żadne przełomowe zmiany, to nowości i tak jest całkiem sporo.
TypeScript jest technologią zbudowaną na JavaScript z dodatkową składnią do typów statycznych. Chodzi tutaj o to, że pisząc typy wartości oraz to, gdzie one się znajdują, TypeScript można użyć do sprawdzenia kodu pod kątem typów i wyłonienia błędów, zanim uruchomi się dany kod. Kompilator tej technologii zabiera typy z kodu, co daje czysty i czytelny JavaScript, który można uruchomić praktycznie wszędzie.
Przyjrzyjmy się zatem, jakie nowe doświadczenia czekają na użytkowników w nowej wersji języka TypeScript.
Lepsza wydajność w build mode
Zgodnie z tym, co obiecywano, TypeScript poprawia szybkość build mode
przy pomocy --noEmitOnError
. W założeniu ma to naprawić problem z tym że kompilowanie programu po poprzedniej kompilacji z błędami --incremental
było bardzo wolne, używając flagi --noEmitOnError
. Działo się tak, ponieważ żadne informacje z poprzedniej kompilacji nie były cachowane w pliku .tsbuildinfo, gdy używano flagi --noEmitOnError
.
Co więcej, warto również wspomnieć, że wersja 4.0 pozwala na użycie flagi --noEmit
podczas używania kompilacji --incremental
. Wcześniej nie było to dozwolone, ponieważ --incremental
musi “wyemitować” pliki .tsbuildinfo
.
Poprawki w edytorze
Nowe funkcje w TypeScript/JavaScript poprawiają edytowanie w Visual Studio Code, Visual Studio 2017/2019 oraz Sublime Text 3. Nowy tryb edytowania zajmuje się głównie problemem powolnego startu, zwłaszcza jeśli chodzi o duże projekty.
Z ważniejszych rzeczy, mamy tutaj też lepsze auto-importy, które wykonują trochę więcej pracy w celu zawarcia pakietów wylistowanych w polu zależności package.json. Informacja z tych pakietów zostaje użyta do ulepszenia auto-importów, nie zmieniając przy okazji np. sprawdzania typów.
Usprawnienia w krotkach
Zmiana nazwana variadic tuple składa się z dwóch części. Pierwsza z nich to to, że w krotkach możliwe będzie użycie składni rozwinięcia dla typów generycznych. Druga to fakt, że element spread
może się teraz pojawić w każdym miejscu w krotce, nie tylko na końcu. Typy krotek mają teraz również oznaczenia i mogą zostać nazwane, co z pewnością ułatwi z nimi pracę.
Pozostałe zmiany
Analiza przepływu kontroli może zostać teraz użyta do zdefiniowania typów właściwości w klasach, w momencie, w którym zezwolono na działanie noImplicitAny. Co więcej, TypeScript 4.0 obsługuje nową funkcję ECMAScript, aby dodawać nowe operatory przypisania, czyli &&=
, ||=
oraz ??=
.
Pełna lista zmian i nowości została przedstawiona tutaj.
Jeśli ktoś jest zainteresowany, to TypeScript można pobrać z NuGet, lub użyć npm z następującą komendą:
npm install -D typescript
Podsumowanie
Daniel Rosenwasser twierdzi, że jeśli ktoś nie jest jeszcze zaznajomiony z TypeScript, to teraz jest najlepszy czas na naukę tej technologii. Język ten ma już sporą społeczność, dużo rzeczywistego kodu oraz mnóstwo źródeł, z których można się uczyć. Co więcej, według Rosenwassera, pomimo wielu nowości wersji 4.0, programiści tak naprawdę muszą znać jedynie podstawy, aby być produktywnymi.