ECMAScriptECMAScript
ECMAScript (/ˈɛkməskrɪpt/; ES)[1] ստանդարտ է սկրիպտային լեզուների համար, ներառյալ JavaScript, JScript և ActionScript: Այն առավել հայտնի է որպես JavaScript ստանդարտ, որը նախատեսված է տարբեր վեբ բրաուզերների միջև վեբ էջերի փոխգործունակությունն ապահովելու համար։ Այն ստանդարտացված է Ecma International-ի կողմից ECMA-262 փաստաթղթում։ ECMAScript-ը սովորաբար օգտագործվում է Համաշխարհային ցանցում (WWW) հաճախորդի կողմից սկրիպտավորման համար, և այն ավելի ու ավելի է օգտագործվում սերվերի կողմի հավելվածների և ծառայությունների համար, որոնք օգտագործում են գործարկման ժամանակի միջավայրեր՝ Node.js[2] deno[3] և bun[4]: ECMAScript, ECMA-262, JavaScriptECMA-262-ը կամ ECMAScript լեզվի հստակեցումը սահմանում է ECMAScript լեզուն կամ պարզապես ECMAScript-ը։ ECMA-262-ը սահմանում է միայն լեզվի շարահյուսությունը և հիմնական հավելվածի ծրագրավորման միջերեսի (API) իմաստաբանությունը, ինչպիսիք են Array, Function, և globalThis, մինչդեռ JavaScript-ի վավեր իրականացումներն ավելացնում են իրենց սեփական գործառույթները, ինչպիսիք են մուտքային/ելքային և ֆայլային համակարգի մշակումը։ ՊատմությունECMAScript հստակեցումը սկրիպտային լեզվի ստանդարտացված ճշգրտում է, որը մշակվել է Netscape-ից Բրենդան Էյխի կողմից; սկզբում կոչվում էր Mocha, ապա LiveScript և վերջում JavaScript: 1995 թվականի դեկտեմբերին Sun Microsystems-ը և Netscape-ը հայտարարեցին JavaScript-ը մամուլի հաղորդագրության մեջ։ 1996 թվականի նոյեմբերին Netscape-ը հայտարարեց Ecma International ստանդարտների կազմակերպության հանդիպման մասին՝ JavaScript-ի ստանդարտացումը առաջ մղելու համար։ ECMA-262-ի առաջին հրատարակությունն ընդունվել է Ecma-ի Գլխավոր ասամբլեայի կողմից 1997 թվականի հունիսին։ Այդ ժամանակվանից ի վեր հրատարակվել են լեզվի ստանդարտի մի քանի հրատարակություններ։ «ECMAScript» անվանումը փոխզիջում էր լեզվի ստանդարտացման մեջ ներգրավված կազմակերպությունների, հատկապես Netscape-ի և Microsoft-ի միջև, որոնց վեճերը գերակշռում էին ստանդարտների վաղ նիստերում։ Էյխը մեկնաբանեց, որ «ECMAScript-ը միշտ անցանկալի ապրանքային անուն էր, որը հնչում է որպես մաշկային հիվանդություն»։ ECMAScript-ը ֆորմալացվել է գործառնական իմաստաբանության միջոցով՝ աշխատելով Սթենֆորդի համալսարանում և Լոնդոնի Կայսերական քոլեջի Հաշվիչների բաժնում՝ անվտանգության վերլուծության և ստանդարտացման համար։ «ECMA»-ն մինչև 1994 թվականը եղել է «Եվրոպական համակարգչային արտադրողների ասոցիացիա»։ ՀատկություններECMAScript լեզուն ներառում է կառուցվածքային, դինամիկ, ֆունկցիոնալ և նախատիպի վրա հիմնված առանձնահատկություններ։ Հրամայական և կառուցվածքայինECMAScript JavaScript -ն աջակցում է C ոճի կառուցվածքային ծրագրավորում։ Նախկինում JavaScript-ն աջակցում էր միայն ֆունկցիաների շրջանակի սահմանումը՝ օգտագործելով Ինչպես C ոճի լեզուները, կառավարման հոսքը կատարվում է Թույլ տպագիրECMAScript-ը թույլ է մուտքագրված։ Սա նշանակում է, որ որոշ տեսակներ նշանակվում են անուղղակիորեն՝ հիմնվելով կատարված գործողության վրա։ Այնուամենայնիվ, JavaScript-ի կողմից փոփոխականի մի տեսակից մյուսը փոխակերպելու մի քանի տարօրինակություններ կան։ Այս տարօրինակությունները եղել են Wat[5][6] վերնագրով ելույթի թեմա։ ԴինամիկECMAScript-ը դինամիկ մուտքագրված է։ Այսպիսով, տեսակը կապված է արժեքի հետ, այլ ոչ թե արտահայտության։ ECMAScript-ն աջակցում է օբյեկտների տեսակը փորձարկելու տարբեր եղանակներ, ներառյալ բադային[7] մուտքագրումը։ ՏրանսպիլյացիաES 2015 թվականից ի վեր JavaScript-ի վերափոխումը շատ տարածված է դարձել։ Transpilation-ը աղբյուրից-աղբյուր հավաքածու է, որտեղ օգտագործվում են JavaScript-ի ավելի նոր տարբերակները, և տրանսպիլյատորը վերագրում է աղբյուրի կոդը, որպեսզի այն ապահովվի ավելի հին բրաուզերների կողմից։ Սովորաբար, տրանսպիլյատորները տեղափոխվում են ES3՝ բրաուզերների բոլոր տարբերակների հետ համատեղելիությունը պահպանելու համար։ Որոշակի տարբերակի փոխադրման կարգավորումները կարող են կազմաձևվել ըստ անհրաժեշտության։ Transpiling-ը հավելյալ քայլ է ավելացնում կառուցման գործընթացին և երբեմն արվում է պոլիֆիլմերից խուսափելու համար։ Polyfills-ը նոր հնարավորություններ է ստեղծում հին միջավայրերի համար, որոնք չունեն դրանք։ Polyfill-ները դա անում են թարգմանչի գործարկման ժամանակ, օրինակ՝ օգտագործողի դիտարկիչում կամ սերվերում։ Փոխարենը, transpiling-ը վերագրում է ECMA կոդը ինքնին մշակման կառուցման փուլում, նախքան այն կհասնի թարգմանչին։ Համապատասխանություն2010 թվականին Ecma International-ը սկսեց մշակել ստանդարտների թեստ Ecma 262 ECMAScript-ի համար[8]։ Test262-ը ECMAScript-ի համապատասխանության թեստային փաթեթ է, որը կարող է օգտագործվել ստուգելու համար, թե որքանով է JavaScript-ի ներդրումը հետևում ECMAScript-ի ճշգրտմանը։ Թեստային փաթեթը պարունակում է հազարավոր անհատական թեստեր, որոնցից յուրաքանչյուրը ստուգում է ECMAScript-ի որոշ հատուկ պահանջ(ներ)։ Test262-ի մշակումը Ecma տեխնիկական կոմիտեի 39 (TC39) նախագիծն է։ Թեստավորման շրջանակը և անհատական թեստերը տրամադրվում են Ecma-ին TC39-ի անդամ կազմակերպությունների կողմից։ Կարևոր ներդրումներ են կատարել Google-ը (Sputnik թեստային փաթեթ) և Microsoft-ը, որոնք երկուսն էլ հազարավոր թեստեր են կատարել։ Test262 թեստային փաթեթը բաղկացած էր 38014 թեստերից Հունվարի 2020-ի դրությամբ[9]։ ECMAScript-ի բնութագրերը ES7-ի միջոցով լավ աջակցվում են հիմնական վեբ բրաուզերներում։ Ստորև բերված աղյուսակը ցույց է տալիս ծրագրային ապահովման ընթացիկ տարբերակների համապատասխանության մակարդակը ECMAScript-ի ամենավերջին հրատարակությունների նկատմամբ։
Տես նաևՀղումներ
|