TC39 og dens bidrag til ECMAScript

Mange mennesker bliver forvirrede over, hvad der er JavaScript, og hvad der er ECMAScript. Nogle gange er det svært at fortælle, hvordan de er forbundet med hinanden, og hvilken rolle ECMA International og TC39 spiller i standardiseringen af ​​JavaScript.

I dette blogindlæg skal jeg diskutere TC39 og dets bidrag til ECMAScript.

Lad os starte med alle de grundlæggende terminologier, der bruges, når vi taler om JavaScript og ECMAScript.

Hvad er ECMAScript?

ECMAScript er et standard script sprog, der er udviklet i samarbejde med Netscape og Microsoft og hovedsageligt stammer fra Netscapes JavaScript. JavaScript er et udbredt scriptingsprog, der bruges på websider for at påvirke, hvordan de ser ud eller opfører sig for brugeren.

ECMA-262 er en standard udgivet af ECMA International. Den indeholder specifikationen til et generelt script-sprog, der er kendt som ECMAScript.

Lidt mere om JavaScript

JavaScript er et scriptingsprog, der giver dig mulighed for at oprette dynamisk opdaterende indhold, kontrollere multimedier, animere billeder og gøre stort set alt andet. (Okay, ikke alt, men det er forbløffende, hvad du kan opnå med et par linjer JavaScript-kode.)

Hvad er ECMA?

ECMA er en standardorganisation for informations- og kommunikationssystemer. ECMA sigter mod at udvikle standarder og tekniske rapporter for at lette og standardisere brugen af ​​informationskommunikationsteknologi og forbrugerelektronik. Det tilskynder til korrekt brug af standarder ved at påvirke det miljø, hvori de anvendes, og det offentliggør disse standarder og rapporter i elektronisk og trykt form.

Og nu, lad os introducere de hårdtarbejdende mennesker bag ECMAScript: TC39.

Hvad er TC 39?

TC39 betyder teknisk komité nummer 39. Det er en del af ECMA, den institution, der standardiserer JavaScript-sproget under specifikationen "ECMAScript". Det fungerer på standardiseringen af ​​det generelle formål, cross platform, leverandørneutralt programmeringssprog, der er ECMAScript. Dette inkluderer sprogsyntaks, semantik, biblioteker og supplerende teknologier, der understøtter sproget.

TC 39 fungerer på :

  • Vedligeholdelse og opdatering af standarden for ECMAScript programmeringssprog.
  • Identificering, udvikling og vedligeholdelse af standarder for biblioteker, der udvider funktionerne i ECMAScript.
  • Udvikling af testpakker, der kan bruges til at kontrollere korrekt implementering af disse standarder.
  • Bidrage med udvalgte standarder til ISO / IEC JTC 1-komitéen.
  • Evaluering og overvejelse af forslag til supplerende eller supplerende teknologier.

Siden ES6 kom ud, strømlinede TC 39 forslagsprioriteringsprocessen for at imødekomme moderne forventninger. Den nye proces bruger et supersæt af HTML til at formatere forslagene. De bruger GitHub pull-anmodninger, som hjalp med at øge deltagelsen fra samfundet. Antallet af forslag, der fremsættes, steg også.

Specifikationen er nu mere en levestandard, hvilket betyder, at forslag ser vedtagelse hurtigere, og vi bruger ikke år på at vente på, at en ny udgave af specifikationen kommer ud.

En mere generel opfattelse

Ved at læse ECMAScript-specifikationen lærer du, hvordan du opretteret script-sprog. Ved at læse JavaScript-dokumentationen lærer du, hvordan du bruger dette script-sprog.

Forslagsbehandling

Trin 0: Strawman

Enhver diskussion, idé, ændring eller tilføjelse, der endnu ikke er indsendt som et formelt forslag, betragtes som et "stråmand" -forslag på dette stadium. Kun medlemmer af TC39 kan oprette disse forslag, og der er over et dusin aktive stråmand-forslag i dag.

Trin 1: Forslag

På dette stadium formaliseres et forslag og forventes at imødegå tværgående bekymringer, interaktioner med andre forslag og implementeringsproblemer. Forslag i dette trin identificerer et diskret problem og tilbyder en konkret løsning på dette problem.

På dette stadium indeholder forslaget ofte en API-beskrivelse på højt niveau, eksempler på brug og en diskussion af interne semantik og algoritmer. Disse forslag vil sandsynligvis ændre sig væsentligt, når de kommer igennem processen.

Trin 2: Udkast

Forslag i denne fase skal tilbyde et indledende udkast til specifikationen.

På dette tidspunkt er det rimeligt for implementatorer at begynde at eksperimentere med faktiske implementeringer i løbetid. Implementeringen kan komme i mange former: en polyfill, brugerkode, der mangler runtime til at overholde forslaget, en motorimplementering (som indbygget giver support til forslaget), eller det kan være support af en build-time-kompilator som Babel.

Trin 3: Kandidat

Forslag i denne fase er kandidatanbefalinger. På dette avancerede trin skal specifikationseditoren og de udpegede korrekturlæsere have underskrevet den endelige specifikation. Et trin 3-forslag vil sandsynligvis ikke ændre sig ud over rettelser af problemer identificeret i naturen.

Implementatorer skulle også have udtrykt interesse for forslaget - et forslag uden støtte fra implementører er dødt i vandet. I praksis flytter forslag til dette niveau med mindst én browserimplementering, en high-fidelity-polyfyldning, eller når de understøttes af en byggetids-spiller som Babel.

Trin 4: Færdig

Endelig kommer forslag til dette stadium, hvor der er mindst to uafhængige implementeringer, der består acceptstest.

Hvad er det næste?

Forslag, der går igennem til trin 4, vil blive inkluderet i den næste revision af ECMAScript. Når specifikationen gennemgår sin årlige ratificering som standard, ratificeres forslaget som en del af det.

Sådan accepteres ideer til udvikling af ECMAScript-sproget og føjes til næste revision af ECMAScript. Og vi er alle taknemmelige for det arbejde, TC39 har udført, hvilket er uvurderligt.

Med det har vi nået slutningen af ​​vores diskussion om TC39 og dens bidrag til ECMAScript.

Tak for læsningen.

Kilder: TC 39 Process, ECMA International