ECMAScript (Svenska)
ECMAScript-specifikationen är en standardiserad specifikation av ett skriptspråk som utvecklats av Brendan Eich av Netscape; ursprungligen namngiven Mocha, sedan LiveScript och slutligen JavaScript. I December 1995 tillkännagav Sun Microsystems och Netscape JavaScript i ett pressmeddelande. I November 1996 tillkännagav Netscape ett möte med Ecma International standards organization för att främja standardiseringen av JavaScript. Den första upplagan av ECMA-262 antogs av Ecma Generalförsamling i juni 1997. Flera utgåvor av språkstandarden har publicerats sedan dess., Namnet ”ECMAScript” var en kompromiss mellan de organisationer som är involverade i att standardisera språket, särskilt Netscape och Microsoft, vars tvister dominerade de tidiga standarderna. Eich kommenterade att ” ECMAScript var alltid ett oönskat handelsnamn som låter som en hudsjukdom.”ECMAScript har formaliserats genom operativ semantik genom arbete vid Stanford University och Institutionen för databehandling, Imperial College London för säkerhetsanalys och standardisering.,
både JavaScript och JScript överensstämmer med ECMAScript-specifikationen och ger även ytterligare funktioner som inte beskrivs i specifikationen.
VersionsEdit
det finns elva utgåvor av ECMA-262 publicerade. Arbetet med version 11 av standarden slutfördes i juni 2020.,
utgåva | publicerat datum | namn | ändringar från tidigare utgåva | Editor | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1
i juni 2004 publicerade ECMA International ECMA-357-standarden, som definierar en förlängning till ECMAScript, känd som Ecmascript för XML (E4X)., Ecma definierade också en ”kompakt profil” för ECMAScript – känd som ES-CP eller ECMA 327 – som konstruerades för resursbegränsade enheter, som drogs tillbaka 2015. 4: e upplagan (övergiven)redigeraden föreslagna fjärde upplagan av ECMA-262 (ECMAScript 4 eller ES4) skulle ha varit den första stora uppdateringen till ECMAScript sedan den tredje upplagan publicerades 1999. Specifikationen (tillsammans med ett referensgenomförande) var ursprungligen avsedd för slutförande i oktober 2008. Det första utkastet var daterat i februari 1999., En översikt över språket släpptes av arbetsgruppen den 23 oktober 2007. i augusti 2008 hade ECMAScript 4: e upplagan förslag skalas tillbaka till ett projekt kodnamnet ECMAScript harmoni. Funktioner som diskuteras för harmoni vid den tiden ingår:
syftet med dessa funktioner var delvis att bättre stödja programmering i den stora, och att tillåta att offra en del av skriptets förmåga att vara dynamisk för att förbättra prestanda. Till exempel, Tamarin – den virtuella maskinen för Åtgärderscript, utvecklad och öppen källkod av Adobe-har just – in-time compilation (JIT) stöd för vissa klasser av skript. förutom att införa nya funktioner föreslogs vissa ES3-fel att rättas till i utgåva 4. Dessa korrigeringar och andra, och stöd för JSON-kodning/avkodning, har viktats i ECMAScript, 5th Edition-specifikationen., arbetet startade på utgåva 4 efter att Es-CP (Compact Profile) – specifikationen slutfördes och fortsatte i ungefär 18 månader där långsamma framsteg gjordes för att balansera teorin om Netscape ’ s JavaScript 2-specifikation med implementeringsupplevelsen av Microsofts JScript. NET. efter en tid flyttade fokuset till ECMAScript för XML (E4X) – standarden. Uppdateringen har inte varit utan kontrovers. I slutet av 2007, en debatt mellan Eich, senare Mozilla stiftelsens CTO, och Chris Wilson, Microsofts plattform arkitekt för Internet Explorer, blev offentlig på ett antal bloggar., Wilson varnade för att eftersom de föreslagna ändringarna av ECMAScript gjorde det bakåtkompatibelt i vissa avseenden till tidigare versioner av språket, uppgick uppdateringen till ”breaking the Web” och att intressenter som motsatte sig ändringarna var ”dolda ur sikte”. Eich svarade genom att säga att Wilson verkade vara ”upprepa lögner i bloggar” och förnekade att det var försök att undertrycka oliktänkande och utmanade kritiker att ge specifika exempel på inkompatibilitet., Han påpekade att Microsoft Silverlight och Adobe AIR förlitar sig på C# respektive ActionScript 3, som båda är större och mer komplexa än ECMAScript Edition 3. 5th EditionEditYahoo, Microsoft, Google och andra 4th edition dissenters bildade sin egen underkommitté för att utforma en mindre ambitiös uppdatering av ECMAScript 3, preliminärt namngiven ECMAScript 3.1. Denna utgåva skulle fokusera på säkerhets-och biblioteksuppdateringar, med stor tonvikt på kompatibilitet. Efter ovannämnda offentliga sparring, ECMAScript 3.,1 och ECMAScript 4-lag kom överens om en kompromiss: de två utgåvorna skulle arbetas parallellt med samordning mellan lagen för att säkerställa att ECMAScript 3.1 förblir en strikt delmängd av ECMAScript 4 i både semantik och syntax. de olika filosofierna i varje lag resulterade dock i upprepade brott mot delmängdsregeln, och det var tveksamt om ECMAScript 4-dissenterna någonsin skulle stödja eller genomföra ECMAScript 4 i framtiden., Efter över ett år sedan oenigheten om ECMAScript: s framtid inom ECMA Technical Committee 39 nådde de två lagen en ny kompromiss i juli 2008: Brendan Eich meddelade att Ecma TC39 skulle fokusera arbetet på ECMAScript 3.1 (senare döpt till ECMAScript, 5th Edition) – projektet med fullt samarbete mellan alla parter, och leverantörer skulle rikta minst två driftskompatibla implementeringar i början av 2009. I April 2009 publicerade Ecma TC39 det” slutliga ” utkastet till den femte upplagan och meddelade att testning av driftskompatibla implementeringar förväntades slutföras i mitten av juli., Den 3 December 2009 publicerades ECMA-262 5th edition. 6: e upplagan – ECMAScript 2015Edit6: e upplagan, ursprungligen känd som ECMAScript 6 (ES6) sedan och senare omdöpt till ECMAScript 2015, slutfördes i juni 2015. Den här uppdateringen lägger till betydande ny syntax för att skriva komplexa applikationer, inklusive klassdeklarationer ( 7th Edition – ECMAScript 2016Editden 7: e upplagan, officiellt känd som ECMAScript 2016, slutfördes i juni 2016. Dess funktioner inkluderar block-scoping av variabler och funktioner, förstöringsmönster (av variabler), korrekt svans samtal, exponentiering operatör exponentieringsoperatören motsvarar 8: e upplagan – ECMAScript 2017Edit8: e upplagan, officiellt känd som ECMAScript 2017, slutfördes i juni 2017. Dess funktioner inkluderar 9th Edition – ECMAScript 2018Edit9th edition, officiellt känd som ECMAScript 2018, slutfördes i juni 2018. Nya funktioner inkluderar rest / spread operatörer för objektliteraler (tre punkter: spread-operatören möjliggör enkel kopiering av objektegenskaper, som visas nedan. 10th Edition – ECMAScript 2019Edit10th edition, officiellt känd som ECMAScript 2019, publicerades i juni 2019. Tillagda funktioner inkluderar, men är inte begränsade till,
11th Edition – ECMAScript 2020Edit11th edition, officiellt känd som ECMAScript 2020, publicerades i juni 2020. Förutom nya funktioner innehåller den här versionen en BigInts skapas antingen med nullish coalescing operatören false ?? "string" // -> falseNaN ?? "string" // -> NaNundefined ?? "string" // -> "string" valfri kedja gör att du kan komma åt de kapslade noderna i ett objekt utan att ha a och kontrollera på varje nivå. ett exempel är ES.NextEditES.,Nästa är ett dynamiskt namn som refererar till vad nästa version är vid skrivningstillfället. ES.Nästa funktioner är färdiga förslag (aka ”steg 4 förslag”) som anges på färdiga förslag som inte ingår i en ratificerad specifikation. Språkkommittén följer en ”levande spec” – modell, så dessa förändringar är en del av standarden, och ratificering är en formalitet. |