Microsoft, Igalia a Bloomberg navrhujú zahrnúť syntax pre definíciu v JS 

Microsoft, Igalia a Bloomberg Oznámili to pred pár dňami prevzali iniciatívu začleniť syntax pre explicitnú definíciu typu v špecifikácii JavaScript, podobne ako syntax používaná v jazyku TypeScript.

V súčasnosti sú prototypové zmeny navrhnuté na zahrnutie do štandardu ECMAScript predložené na predbežné diskusie (fáza 0).

Dnes s potešením oznamujeme našu podporu a spoluprácu na novom návrhu Stage 0, ktorý prinesie voliteľnú a vymazateľnú syntax typu do JavaScriptu. Pretože táto nová syntax by nezmenila spôsob vykonávania okolitého kódu, fungovali by efektívne ako komentáre. Myslíme si, že to má potenciál uľahčiť a urýchliť používanie TypeScriptu na vývoj na všetkých úrovniach. Radi by sme hovorili o tom, prečo to robíme a ako tento návrh funguje na vysokej úrovni.

Spomína sa, že na tVýslovné informácie o type zabránia mnohým chybám v procese vývoja, poskytne príležitosť použiť ďalšie optimalizačné techniky, zjednoduší ladenie a urobí kód čitateľnejším a pre vývojárov tretích strán jednoduchšie na úpravu a údržbu.

okrem toho navrhuje sa implementovať podporu typu ako voliteľnú funkciu: Moduly JavaScript a runtime, ktoré nepodporujú kontrolu typu, budú ignorovať anotácie s informáciami o type a spracujú kód ako predtým, pričom údaje o type budú vnímať ako komentáre. Nástroje na kontrolu typov však budú schopné na základe dostupných informácií odhaliť chyby súvisiace s nesprávnym používaním typov.

Pozadie
Nedávnym trendom, ktorý náš tím zaznamenal vo svete JavaScriptu, je požiadavka na rýchlejšiu iteráciu a zníženie počtu krokov pri zostavovaní. Inými slovami, „urobte to rýchlejšie a jednoduchšie“.

Svojím spôsobom sa to už deje. Vďaka úspechu evergreen prehliadačov sa vývojári často môžu vyhnúť kompilácii novších verzií JavaScriptu na spustenie na starších runtimech. To isté do istej miery platí aj pre viazanie: väčšina prehliadačov má vstavanú podporu pre používanie modulov, takže viazanie môže byť vnímané skôr ako krok optimalizácie než nevyhnutnosť. Toto sa stáva čoraz častejšie, ako teda TypeScript obstojí?

Súčasne na rozdiel od uvedených informácií o type prostredníctvom anotácií JSDoc špecifikovaných ako komentáre, priama špecifikácia typov priamo v konštruktoch definície premenných vďaka tomu bude kód vizuálnejší, zrozumiteľnejší a ľahšie upraviteľný.

Napríklad IDE s podporou TypeScript budú môcť okamžite zvýrazniť chyby v napísanom kóde JavaScript bez ďalších transformácií. Okrem toho vstavaná podpora typov umožní spúšťať programy napísané v skriptovaných dialektoch JavaScriptu, ako sú TypeScript a Flow, bez prepisovania z jedného jazyka do druhého.

Z typov sa navrhuje pridať "reťazec", "číslo" a "boolean", ktoré možno použiť pri definovaní premenných, parametrov funkcií, prvkov objektu, polí tried, typovaných polí ("číslo[]"). Navrhuje sa tiež poskytnúť podporu pre zmiešané typy ("reťazec | číslo") a generiká.

Vzhľadom na to všetko plánujeme predložiť tento návrh pre 1. etapu na ďalšom plenárnom zasadnutí TC2022 v marci 39. Urobíme tak s podporou a vedením našich spolumajstrov tohto návrhu, Roba Palmera z Bloombergu a Romula Cintru z Igalia.

Dosiahnutie fázy 1 by znamenalo, že výbor pre štandardy sa domnieva, že syntax kompatibilného typu pre ECMAScript stojí za zváženie. To nie je isté: vo výbore je veľa cenných perspektív a očakávame istú dávku skepticizmu. Takýto návrh bude predmetom mnohých pripomienok a náležitej kontroly. Môže to zahŕňať veľa dizajnových zmien a výsledky môžu trvať roky.

na ďalšom stretnutí marca výboru TC39 sa plánuje prechod do prvej etapy posúdenie návrhu za účasti odbornej komunity ECMA.

Konečne Ak máte záujem dozvedieť sa viac, môžete skontrolovať podrobnosti v nasledujúci odkaz.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.