Microsoft, Igalia och Bloomberg föreslår att inkludera en syntax för definitionen i JS 

Microsoft, Igalia och Bloomberg Det meddelade de för några dagar sedan har tagit initiativ till att inkludera en syntax för den explicita typdefinitionen i specifikationen JavaScript, liknande syntaxen som används i TypeScript-språket.

För närvarande har de prototypändringar som föreslås för inkludering i ECMAScript-standarden lämnats in för preliminära diskussioner (steg 0).

Idag är vi glada att kunna meddela vårt stöd och samarbete kring ett nytt steg 0-förslag för att lägga till valfri och raderbar typsyntax till JavaScript. Eftersom den här nya syntaxen inte skulle förändra hur den omgivande koden exekveras, skulle de effektivt fungera som kommentarer. Vi tror att detta har potential att göra TypeScript enklare och snabbare att använda för utveckling i alla skalor. Vi skulle vilja prata om varför vi driver detta och hur detta förslag fungerar på hög nivå.

Det nämns att vid tAtt ha explicit typinformation kommer att förhindra många fel i utvecklingsprocessen, det kommer att ge möjlighet att använda ytterligare optimeringstekniker, förenkla felsökning och göra koden mer läsbar och lättare för tredjepartsutvecklare att modifiera och underhålla.

Förutom det Det föreslås att typstöd implementeras som en valfri funktion: JavaScript-motorer och körtider som inte stöder typkontroll ignorerar anteckningar med typinformation och bearbetar koden som tidigare, och uppfattar typdata som kommentarer. Men typkontrollverktyg kommer, baserat på tillgänglig information, att kunna upptäcka fel relaterade till felaktig användning av typer.

Bakgrund
En ny trend som vårt team har sett i JavaScript-världen är kravet på snabbare iterationstid och minskade byggsteg. Med andra ord, "gör det snabbare och enklare".

På sätt och vis händer detta redan. Tack vare framgången med vintergröna webbläsare kan utvecklare ofta undvika att kompilera nyare versioner av JavaScript för att köras på äldre körtider. Till viss del gäller samma sak för buntning: de flesta webbläsare har inbyggt stöd för att använda moduler, så buntning kan ses som mer av ett optimeringssteg än som en nödvändighet. Detta har blivit fallet i allt högre grad, så hur håller TypeScript?

Samtidigt, till skillnad från den specificerade typinformationen via JSDoc-kommentarer angivna som kommentarer, den direkta specifikationen av typer direkt i variabeldefinitionskonstruktioner det kommer att göra koden mer visuell, begriplig och lättare att redigera.

Till exempel kommer TypeScript-aktiverade IDE:er att omedelbart kunna markera fel i skriven JavaScript-kod utan ytterligare transformationer. Dessutom kommer inbyggt typstöd att göra det möjligt att köra program skrivna i skriptade JavaScript-dialekter som TypeScript och Flow utan att flytta från ett språk till ett annat.

Av typerna föreslås att man lägger till "string", "number" och "boolean", som kan användas vid definition av variabler, funktionsparametrar, objektelement, klassfält, typade arrayer ("number[]"). Det föreslås också att ge stöd för blandade typer ("sträng | nummer") och generika.

Med tanke på allt detta planerar vi att presentera detta förslag för steg 1 vid nästa plenarmöte i mars 2022 för TC39. Vi kommer att göra det med stöd och vägledning av våra medförespråkare för detta förslag, Rob Palmer på Bloomberg och Romulo Cintra på Igalia.

Att nå steg 1 skulle innebära att standardkommittén anser att kompatibel typsyntax för ECMAScript är värt att överväga. Det är inte säkert: det finns många värdefulla perspektiv inom utskottet och vi förväntar oss en viss skepsis. Ett förslag som detta kommer att få många kommentarer och ordentlig granskning. Det kan innebära många designförändringar på vägen, och det kan ta år att få resultat.

vid nästa möte av mars för TC39-kommittén planeras att gå till det första steget behandling av förslaget med deltagande av ECMA:s expertgrupp.

Slutligen Om du är intresserad av att veta mer om det, Du kan kontrollera detaljerna i följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.