Přejít k navigační liště

Zdroják » JavaScript » Přivítejte TypeScript 3.0

Přivítejte TypeScript 3.0

Články JavaScript

Microsoft vydal novou verzi populárního transpileru TypeScript. Co vás v ní čeká?

Už je to 6 let

Bude tomu šest let, co se objevil další transpiler do JavaScriptu, TypeScript. Od začátku nepřehlédnutelný, protože od Microsoftu.

Borek Bernard tehdy popsal své první dojmy:

Microsoft představil nový jazyk, TypeScript, který je v podstatě transpilerem do JavaScriptu jako mnoho dalších, jen se mi tentokrát celý projekt zdá vzatý za správný konec. Nerad bych to zakřiknul, ale mám pocit, že TypeScript bude velký.

Za těch pár let se stal TypeScript poměrně populární. V anketě popularity StackOverflow se umístil v roce 2017 jako devátý, v roce 2018 jako dvanáctý jazyk. Popularita mu neklesá, spíš naopak. Jen StackOverflow změnil pravidla ankety, takže se do stejné kategorie dostaly v roce 2018 i další jazyky jako HTML, CSS nebo bash, které zamíchaly pořadím.

Oproti jiným transpilerům je pro TypeScript typické, že se jedná o nadstavbu JavaScriptu. Každý kód JavaScriptu je také platným kódem TypeScriptu (naopak to už neplatí).

V pondělí vyšla nová verze TypeScript 3.0. Pokud jste nedočkaví, můžete hned nainstalovat a vyzkoušet:

npm install -g typescript

Kontrolní tsc --version by mělo zahlásit Version 3.0.1.

Pokud chcete jako IDE použít VS Code, musíte zatím stáhnout insider verzi (noční buildy), než vyjde verze stabilní.

Co je nového (telegraficky)

  • reference na projekty (jeden TypeScript projekt může záviset na jiném TypeScript projektu, což můžete nastavit v tsconfig.json)
  • proměnný počet parametrů funkce se nyní snadno vyřeší pomocí tuple
  • tuple může obsahovat nepovinné elementy (souvisí s předchozím)
  • vylepšené chybové hlášky, viz animovaný obrázek
  • nový typ unknown označuje proměnnou, o jejímž obsahu/typu zatím nic nevíme a musíme napřed provést její prozkoumání; pokud s proměnnou začneme pracovat rovnou, kód se nepřeloží
  • podpora defaultProps v JSX
  • direktiva /// <reference lib="..." /> řeší problémy s polyfilly

Nekompatibilita

Změn, které můžou způsobit nekompatibilitu se starším kódem, není příliš. Jednak je nyní unknown rezervovaný datový typ, dále byly odstraněny metody a funkce, které již dříve byly označeny jako deprecated (konkrétně LanguageService#getSourceFile, TypeChecker#getSymbolDisplayBuilder, escapeIdentifier a unescapeIdentifier) a tři metody jsou nyní interní a nemůžete je tak již používat (konkrétně TypeChecker#getSuggestionForNonexistentProperty, TypeChecker#getSuggestionForNonexistentSymbol a TypeChecker#getSuggestionForNonexistentModule).

Co se chystá dál

Další vývoj je nastíněn v roadmapě, kde například najdete, že další verze 3.1 by měla vyjít ještě v tomto srpnu a obsahovat podporu pro BigInt.

Komentáře

Subscribe
Upozornit na
guest
0 Komentářů
Inline Feedbacks
View all comments

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.