Microsoft, Igalia og Bloomberg foreslår å inkludere en syntaks for definisjonen i JS 

Microsoft, Igalia og Bloomberg Det kunngjorde de for noen dager siden har tatt initiativ til å inkludere en syntaks for den eksplisitte typedefinisjonen i spesifikasjonen JavaScript, lik syntaksen som brukes i TypeScript-språket.

For øyeblikket er prototypeendringene foreslått for inkludering i ECMAScript-standarden sendt inn for foreløpige diskusjoner (trinn 0).

I dag er vi glade for å kunngjøre vår støtte og samarbeid om et nytt Stage 0-forslag for å bringe valgfri og slettbar typesyntaks til JavaScript. Fordi denne nye syntaksen ikke vil endre måten den omkringliggende koden utføres på, vil de effektivt fungere som kommentarer. Vi tror dette har potensial til å gjøre TypeScript enklere og raskere å bruke for utvikling i alle skalaer. Vi vil gjerne snakke om hvorfor vi driver dette og hvordan dette forslaget fungerer på høyt nivå.

Det nevnes at klÅ ha eksplisitt typeinformasjon vil forhindre mange feil i utviklingsprosessen, det vil gi muligheten til å bruke ytterligere optimaliseringsteknikker, forenkle feilsøking og gjøre koden mer lesbar og enklere for tredjepartsutviklere å endre og vedlikeholde.

bortsett fra det det foreslås å implementere typestøtte som en valgfri funksjon: JavaScript-motorer og kjøretider som ikke støtter typekontroll vil ignorere merknader med typeinformasjon og behandle koden som før, og oppfatte typedata som kommentarer. Men typekontrollverktøy vil, basert på tilgjengelig informasjon, kunne oppdage feil knyttet til feil bruk av typer.

Bakgrunn
En nylig trend teamet vårt har sett i JavaScript-verdenen er kravet om raskere iterasjonstid og reduserte byggetrinn. Med andre ord, "gjør det raskere og enklere".

På en måte skjer dette allerede. Takket være suksessen til eviggrønne nettlesere, kan utviklere ofte unngå å kompilere nyere versjoner av JavaScript for å kjøre på eldre kjøretider. Til en viss grad gjelder det samme for bunting: de fleste nettlesere har innebygd støtte for bruk av moduler, så bunting kan sees på som mer et optimaliseringstrinn enn en nødvendighet. Dette har i økende grad vært tilfelle, så hvordan holder TypeScript seg?

Samtidig i motsetning til den angitte typeinformasjonen via JSDoc-kommentarer spesifisert som kommentarer, den direkte spesifikasjonen av typer direkte i variabeldefinisjonskonstruksjoner det vil gjøre koden mer visuell, forståelig og enklere å redigere.

For eksempel vil TypeScript-aktiverte IDE-er umiddelbart kunne fremheve feil i skrevet JavaScript-kode uten ytterligere transformasjoner. I tillegg vil innebygd typestøtte gjøre det mulig å kjøre programmer skrevet i skriptede JavaScript-dialekter som TypeScript og Flow uten å transpilere fra ett språk til et annet.

Av typene foreslås det å legge til "streng", "tall" og "boolsk", som kan brukes ved definering av variabler, funksjonsparametere, objektelementer, klassefelt, typematriser ("nummer[]"). Det er også foreslått å gi støtte for blandede typer ("streng | nummer") og generiske.

Gitt alt dette planlegger vi å presentere dette forslaget for trinn 1 på neste plenumsmøte i mars 2022 i TC39. Vi vil gjøre det med støtte og veiledning fra våre medforkjempere for dette forslaget, Rob Palmer på Bloomberg og Romulo Cintra på Igalia.

Å nå trinn 1 vil bety at standardkomiteen mener kompatibel typesyntaks for ECMAScript er verdt å vurdere. Dette er ikke sikkert: Det er mange verdifulle perspektiver i utvalget, og vi forventer en viss skepsis. Et forslag som dette vil få mange kommentarer og behørig gransking. Det kan innebære mange designendringer underveis, og det kan ta år å få resultater.

på neste møte av mars av TC39-komiteen er det planlagt å gå over til første trinn behandling av forslaget med deltakelse av ECMA-ekspertmiljøet.

Endelig Hvis du er interessert i å vite mer om det, kan du sjekke detaljene i følgende lenke.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.