Microsoft, Igalia a Bloomberg navrhují zahrnout syntaxi pro definici v JS 

Microsoft, Igalia a Bloomberg Oznámili to před pár dny převzali iniciativu začlenit syntaxi pro explicitní definici typu ve specifikaci JavaScript, podobný syntaxi používané v jazyce TypeScript.

V současné době byly prototypové změny navržené pro zahrnutí do standardu ECMAScript předloženy k předběžným diskusím (fáze 0).

Dnes s potěšením oznamujeme naši podporu a spolupráci na novém návrhu Stage 0, který přináší volitelnou a smazatelnou syntaxi typů do JavaScriptu. Protože tato nová syntaxe nezmění způsob provádění okolního kódu, budou efektivně fungovat jako komentáře. Myslíme si, že to má potenciál usnadnit a urychlit použití TypeScriptu pro vývoj na všech úrovních. Rádi bychom hovořili o tom, proč to děláme a jak tento návrh funguje na vysoké úrovni.

Uvádí se, že na tExplicitní informace o typu zabrání mnoha chybám ve vývojovém procesu, poskytne příležitost používat další optimalizační techniky, zjednoduší ladění a učiní kód čitelnějším a pro vývojáře třetích stran snadněji upravitelný a udržovatelný.

kromě toho navrhuje se implementovat podporu typu jako volitelnou funkci: JavaScriptové stroje a runtime moduly, které nepodporují kontrolu typu, budou ignorovat anotace s informacemi o typu a zpracují kód jako dříve, přičemž data typu budou vnímat jako komentáře. Nástroje pro kontrolu typů však budou schopny na základě dostupných informací odhalit chyby související s nesprávným použitím typů.

Pozadí
Nedávným trendem, který náš tým ve světě JavaScriptu zaznamenal, je požadavek na rychlejší iteraci a snížení počtu kroků při sestavování. Jinými slovy, „udělejte to rychleji a jednodušší“.

Svým způsobem se to již děje. Díky úspěchu evergreen prohlížečů se vývojáři často mohou vyhnout kompilaci novějších verzí JavaScriptu pro běh na starších runtimech. Do jisté míry totéž platí pro sdružování: většina prohlížečů má vestavěnou podporu pro používání modulů, takže sdružování lze považovat spíše za optimalizační krok než za nutnost. To platí stále častěji, jak tedy TypeScript obstojí?

Současně na rozdíl od uvedených informací o typu prostřednictvím anotací JSDoc specifikovaných jako komentáře, přímou specifikaci typů přímo v konstrukcích definice proměnných díky tomu bude kód vizuálnější, srozumitelnější a snadněji upravitelný.

Například IDE s podporou TypeScript budou moci okamžitě zvýraznit chyby v napsaném kódu JavaScript bez dalších transformací. Vestavěná podpora typů navíc umožní spouštět programy napsané ve skriptovaných dialektech JavaScriptu, jako je TypeScript a Flow, aniž by se překládaly z jednoho jazyka do druhého.

Z typů se navrhuje přidat "string", "number" a "boolean", které lze použít při definování proměnných, parametrů funkcí, objektových prvků, polí tříd, typovaných polí ("číslo[]"). Navrhuje se také poskytovat podporu pro smíšené typy ("řetězec | číslo") a generika.

Vzhledem k tomu všemu plánujeme předložit tento návrh pro fázi 1 na příštím plenárním zasedání TC2022 v březnu 39. Učiníme tak s podporou a vedením našich spolušampionů tohoto návrhu, Roba Palmera z Bloombergu a Romula Cintra z Igalia.

Dosažení fáze 1 by znamenalo, že výbor pro standardy věří, že syntaxe kompatibilního typu pro ECMAScript stojí za zvážení. To není jisté: ve výboru je mnoho cenných perspektiv a očekáváme jistou dávku skepticismu. Návrh, jako je tento, získá mnoho připomínek a náležitou kontrolu. Může to zahrnovat mnoho konstrukčních změn a může trvat roky, než se dostaví výsledky.

na další schůzi března výboru TC39 je plánován přechod do první etapy posouzení návrhu za účasti odborné komunity ECMA.

Konečně Máte-li zájem o tom vědět více, můžete zkontrolovat podrobnosti v následující odkaz.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.