Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 12703|Svar: 1

[JavaScript] ES5, ES6, ES2016, ES. Nästa: Vad händer med versionen av Javascrip{filter}t?

[Kopiera länk]
Publicerad på 2017-04-18 11:25:10 | | | |
Javascrip{filter}t har en mycket märklig namngivningshistorik.
Det släpptes första gången 1995 som en del av Netscape Navigator, vilket gav det nya språket namnet Livescrip{filtering}t. Ett år senare, för att fånga mediehypen kring Java vid den tiden, ändrades namnet tillfälligt till Javascrip{filtering}t (naturligtvis är relationen mellan Java och Javascrip{filtering}t densamma som mellan Lei Feng och Lei Feng Tower – det har inget med det att göra)

Skämtet om den sneda nöten är inte alls roligt
Översättarens anmärkning: Wikipedias artikel Javascrip{filter}t beskriver denna historia mer i detalj
År 1996 skickade Netscape in Javascrip{filtering}t till ECMA International (European Computer Manufacturers Association) för standardisering och slutförde slutligen en ny språkstandard, som var ECMAscrip{filtering}t. Sedan dess har ECMAscrip{filtering}t varit grunden för alla Javascrip{filtering}t-implementationer, även om det var av historiska och marknadsmässiga skäl (tydligen är ECMAscrip{filtering}t inte ett gillande namn...... I verkligheten använder vi bara ECMAscrip{filter}t för att anropa standarden, och vi använder vanligtvis Javascrip{filter}t för att anropa detta språk.
Terminologi:
  • Standard: En uppsättning regler som definierar vad som skiljer den från andra saker
  • Implementering: Den specifika implementeringen/verkliga praxisen för en standard
Men Javascrip{filtering}t-utvecklare bryr sig inte så mycket om detta, eftersom ECMAscrip{filtering}t inte har förändrats mycket under de 15 år som gått sedan starten, och många verkliga implementationer är redan mycket annorlunda än standarden. Faktum är att efter lanseringen av den första versionen av ECMAscrip{filtering}t släpptes två ytterligare versioner kort därefter, men sedan släppet av ECMAscrip{filter}t 3 1999 har inga ändringar framgångsrikt lagts till i den officiella specifikationen på tio år. Istället kämpar webbläsarleverantörer för att utöka sina egna språk, vilket lämnar webbutvecklare utan annat val än att experimentera med och stödja dessa API:er. Även efter lanseringen av ECMAscrip{filter}t 5 2009 tog det flera år innan dessa nya specifikationer fick brett stöd från webbläsare, men de flesta utvecklare skrev ändå ECMAscrip{filtering}t 3-liknande kod och kände inget behov av att lära sig om dem.
Översättarens anmärkning: Utkastet till ECMAscrip{filter}t version 4 övergavs eftersom det var för aggressivt, och Adobes Actionscrip{filtering}t 3.0 är den enda implementeringen av ECMAscrip{filtering}t edition 4 (Flash nästan enade webben)
År 2012 började saker plötsligt förändras. Det finns ett push-to-end-stöd för äldre versioner av IE, och det är mer genomförbart att skriva kod i stil med ECMAscrip{filter}t 5 (ES5). Samtidigt lanseras en ny specifikation för ECMAscrip{filtering}t. Vid denna tidpunkt började folk vänja sig vid att beskriva olika Javascrip{filtering}t-implementationer i termer av versionsstöd för ECMAscrip{filter}t-specifikationen. Denna nya standard kallades ursprungligen ES. Harmoni. År 2015 beslutade TC39, kommittén som ansvarar för att utveckla utkastet till ECMAscrip{filter}t-specifikationen, att ändra systemet för att definiera nya standarder till en gång per år, vilket innebär att varje ny funktion kan läggas till när den är godkänd, till skillnad från att den tidigare specifikationen först slutförs efter att hela utkastet är klart och alla funktioner är i ordning. Som ett resultat bytte ECMAscrip{filtering}t version 6 namn till ECMAscrip{filtering}t 2015 (ES2015) innan den publicerades i juni.
Det föreslås fortfarande många nya funktioner eller syntaxer för Javascrip{filter}t, inklusive decorators, async-await och statiska klassegenskaper. De kallas ofta ES7, ES2016 eller ES. Nästa, men i själva verket kan de bara kallas förslag eller möjligheter, eftersom ES2016-specifikationen ännu inte är klar, och det är möjligt att alla kommer att introduceras, eller ingen av dem. TC39 delar in ett förslag i fyra faser, och du kan se vilket steg varje förslag befinner sig i på Babels webbplats.
Så, hur använder vi denna mängd terminologi? Följande lista kan hjälpa dig:
  • ECMAscrip{filter}t: Ett språk standardiserat av ECMA International och övervakat av TC39-kommittén. Används ofta för att syfta på själva standarden.
  • Javascrip{filtering}t: Det vanligaste namnet för olika implementationer av ECMAscrip{filtering}t-standarden. Denna term är inte begränsad till en specifik version av ECMAscrip{filtering}t-specifikationen, och kan användas för vilken grad som helst av implementering av vilken version av ECMAscrip{filtering}t som helst.
  • ECMAscrip{filtering}t 5 (ES5): Den femte upplagan av ECMAscrip{filtering}t, standardiserad 2009. Denna specifikation är ganska fullständigt implementerad i alla moderna webbläsare.
  • ECMAscrip{filter}t 6 (ES6) / ECMAscrip{filter}t 2015 (ES2015): Den sjätte upplagan av ECMAscrip{filtering}t reviderades och standardiserades 2015. Denna standard är delvis implementerad i de flesta moderna webbläsare. Du kan konsultera denna kompatibilitetstabell för att se hur olika webbläsare och verktyg implementeras.
  • ECMAscrip{filter}t 2016: Den förväntade sjunde upplagan av ECMAscrip{filter}t-revisionen, planerad att släppas nästa sommar. De specifika funktioner som kommer att ingå i denna specifikation är ännu inte fastställda
  • ECMAscrip{filter}t Förslag: Funktions- och syntaxförslag som övervägs för inkludering i framtida versioner av ECMAscrip{filter}t-standarden kommer att genomgå fem steg: Strawman, Proposal, Draft, Candidate och Finished.
Genom hela denna blogg kommer jag att referera till den nuvarande versionen av ECMAscrip{filtering}t som ES6 (eftersom det är vad de flesta utvecklare är mest vana vid), nästa års specifikation som ES2016 (eftersom detta namn, till skillnad från ES6/ES2015, kommer att användas genom hela standardiseringsprocessen), och framtida språkkoncept som ännu inte är färdigställda eller utarbetade ECMAscrip{filtering}t-förslag eller Javascrip{filter}t förslag. Jag kommer att göra mitt bästa för att följa denna artikel vid alla tillfällen som kan orsaka förvirring.




Föregående:.net/c# Huawei IoT Connection Management Platform norrgående gränssnittsverktyg
Nästa:.net/C# använder Attribut för att implementera enkel AOP
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com