مشخصات مقاله
-
13
-
2.0
-
2580
-
1
-
1
بررسی نسخه های مختلف اکما اسکریپت ES6
بررسی نسخه های مختلف اکما اسکریپت 6 ECMAScript:
در این درس به تشریح کامل تاریخچه تمامی نسخه های اکما اسکریپت ECMAScript از آغاز و سیر تحول و پیشرفت آن خواهیم پرداخت.
تاکنون ده ویرایش از ECMA-262 منتشر شده است. پس از انتشار 10 نسخه که شرح آنها در جدول زیر آمده است، کار بر روی آن در ژوئن 2019 به پایان رسید:
در ژوئن 2004، کنسرسیوم بین المللی ECMA استاندارد ECMA-357 را برای تعریف نسخه جدید ECMAScript منتشر کرد که به عنوان ECMAScript برای XML شناخته می شود.
در ادامه جزئیات بیشتری درباره نسخه های ECMAScript اکما اسکریپت ارائه خواهیم داد.
نسخه چهارم اکما اسکریپت (متوقف شده):
نسخه چهارم از ECMA-262 یا ES4 یا ECMAScript4 اولین به روزرسانی اکما اسکریپت از زمان انتشار آن در سال 1999 بود. هدف اولیه این بود این نسخه تا اکتبر 2008 تکمیل شود.
تا آگوست 2008، نسخه چهارم اکما اسکریپت در پروژه ای به نام ECMAScript Harmony معرفی شد. ویژگی بسیار جدید این پروژه شامل کلاس ها (Class)، انتساب تحریک کننده (destrator)، یک سیستم ماژول، حاشیه نویسی نوع اختیاری، نوع داده ای ایستا (Static Type) و ... بود.
علاوه بر این، برای افزودن ویژگی های جدید، برنامه ریزی شده بود تا برخی از اشکالات ES3 در نسخه ES4 برطرف شود. این اصلاحات و سایر موارد و همچنین پشتیبانی از قابلیت رمزگذاری/ رمزگشایی جیسون (encoding/decoding JSON) در نسخه پنجم ES معرفی شد.
در اواخر سال 2007، بحث بین کمپانی Eich (بعدا CTO بنیاد موزیلا) و کریس ویلسون (معمار پلت فرم مایکروسافت برای مرورگر اینترنت IE) در بسیاری از وبلاگ ها علنی شد.
انتشار نسخه چهارم به دلیل اختلافات اساسی بین برنامه نویسان در مورد پیچیدگی زبان کنار گذاشته شد. اضافه شدن ویژگی های جدید به این نسخه هم به طور کامل از دستور کار خارج شد.
نسخه پنجم اکما اسکریپت ECMAScript:
یاهو، مایکروسافت، گوگل و سایر مخالفان نسخه چهارم تیم مجزای خود برای طراحی یک نسخه به روز رسانی شده کمتر جاه طلبانه از 4 ECMAScript تحت عنوان 3.1 ECMAScript تشکیل دادند. این نسخه به ارتقای کتابخانه اکما اسکریپت، به روز رسانی امنیتی و با تأکید فراوان بر سازگاری برنامه، شروع به کار کرد. پس از بحث عمومی، تیم های 3.1 ECMAScript و 4 ECMAScript در مورد توافق همکاری به نتیجه رسیدند.
پس از مدتی، برندان آیچ اعلام کرد که ECMA TC39 با همکاری همه شرکاء بر روی توسعه 3.1 ECMAScript (بعد 5 ECMAScript) تمرکز خواهد کرد و توسعه دهندگان حداقل 2 پیاده سازی را تا سال 2009 انجام خواهند داد. در آوریل 2009، گروه ECMA TC39 پیش نویس مربوط به نسخه اکما اسکریپت 5 را منتشر کرد و همچنین اعلام نمود آزمایش پیاده سازی قابل همکاری توسعه تا اواسط ژوئیه به پایان می رسد. اما در تاریخ 3 دسامبر 2009، پنجمین نسخه از ECMA-272 منتشر شد.
نسخه ششم اکما اسکریپت 2015 ECMAScript:
در ابتدا این نسخه 6 ECMAScript یا ES6 نامیده شد اما بعدا به 2015 ECMAScript تغییر نام یافت که در ژوئن 2015 نهایی شد. این به روزرسانی ساختار کدنویسی جدیدی را برای نوشتن برنامه های پیچیده اضافه کرده است، مثل تعریف کلاس هایی مثل ( { } Class Example )، افزودن ماژول های ES6 و خارج کردن مقادیر ثابت Const که البته آنها را بایستی مطابق با شرایط کدنویسی سخت گیرانه ECMAScript بنویسید. این نسخه همچنین شامل ویژگی های جدیدی مثل مولدهای سبک پایتون، کلمه کلیدی let برای تعریف متغیرهای محلی، تابع های فلش دار (arrow function)، کلمه کلیدی Const برای تعریف متغیرهای ثابت (Constant Variables)، داده های باینری، مجموعه های جدید، بازتاب کد (reflection)، آرایه های دارای نوع (Typed Arrays)، پیشرفت در عملکردهای محاسباتی و ریاضی و بسیاری دیگر ارائه داده است.
نسخه هفتم اکما اسکریپت 2016 ECMAScript:
نسخه هفتم اکما اسکریپت که با نام رسمی 2016 ECMAScript شناخته می شود، در ژوئن 2016 منتشر شده است. این زبان شامل ویژگی های جدیدی مثل محدود کردن دامنه عملکرد توابع و متغیرها (block scoping)، از بین بردن الگوهای متغیرها، تماس های انتهای تابع، کلمات کلیدی async/ await برای برنامه نویسی نامتقارن و عملگر ** برای اعداد است.
نسخه هشتم اکما اسکریپت 2017 ECMAScript:
نسخه هشتم اکما اسکریپت که با نام رسمی 2017 ECMAScript شناخته می شود، در ژوئن 2017 منتشر شد. این نسخه شامل سازنده های async/await است که با تعهدات بعدی برنامه کار می کند، می شود. (در آینده CS، عبارت تعهد (Promise)، به تعویق افتاده (deferred) و تأخیر (delay) به سازنده هایی گفته می شود که برای همگام سازی اجرای برنامه در برخی از برنامه های برنامه نویسی متقارن و همزمان و مولدها (generators) کاربرد دارند.
چهارچوب کاری اکما اسکریپت 2017 ECMAScript یا نسخه هشت شامل ویژگی های atomic (خواص و متدهای static)، اجرای همزمان (concurrency) و تلفیق ساختارهای دستوری با تعهدات تابع است.
نسخه نهم اکما اسکریپت 2018 ECMAScript:
نسخه نهم اکما اسکریپت که با نام رسمی 2018 ECMAScript شناخته می شود در ژوئن 2018 معرفی شد. این نسخه شامل ویژگی های جدیدی مثل عملگرهای rest/ spread برای متغیرها، شناسه سه نقطه (three dots: … indentifier)، تکرارهای غیر همزمان و ... است.
نسخه دهم اکما اسکریپت 2019 ECMAScript:
نسخه دهم اکما اسکریپت هم با نام رسمی 2019 ECMAScript در ژوئن 2019 منتشر شده است. این نسخه شامل ویژگی هایی مثل Array.prototype.flatMap، Array.prototype.flat و تغییراتی در مکانیزم مرتب سازی آرایه ها (Array.Sort) و استخراج اشیاء Object.fromEntries است.
نسخه بعدی اکما اسکریپت چه خواهد بود؟
? ES.Next ، این چیزی نیست جز یک نام پویا که به نسخه بعدی اکما اسکریپت در زمان نوشتن این مقاله اشاره دارد. برنامه های هارمونی بیش از حد متعهد به ارائه یک نسخه واحد بودند که ویژگی های آن را در دو گروه تقسیم می کند: گروه اول بیشترین اولویت را داشتنند و قرار بود به نسخه موفق بعد از ES5 تبدیل شوند. نام رمز آن نسخه ECMAScript Next بود که به این دلیل انتخاب شد تا از تعهد زودرس برای انتشار بعد از نسخه ES4 بکاهد. گروه دوم تا بعد از منتشر شدن ECMAScript Next وقت داشتند!.