کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

بررسی نسخه های مختلف اکما اسکریپت ES6

بررسی نسخه های مختلف اکما اسکریپت 6 ECMAScript:

در این درس به تشریح کامل تاریخچه تمامی نسخه های اکما اسکریپت ECMAScript از آغاز و سیر تحول و پیشرفت آن خواهیم پرداخت.
تاکنون ده ویرایش از ECMA-262 منتشر شده است. پس از انتشار 10 نسخه که شرح آنها در جدول زیر آمده است، کار بر روی آن در ژوئن 2019 به پایان رسید:

نسخه
تاریخ انتشار
نام
تفاوت نسبت به نسخه قبل
ویرایشگر
1
ژوئن 1997
 
انتشار نسخه اول
Gury Steele
2
ژوئن 1998
 
تغییرات ساختاری برای مطابقت کامل مشخصات با استاندارد بین المللی ISO / ICE 16262.
Mike Cow Lishow
3
دسامبر 1999
 
افزودن عبارات منظم (Regular expressions)، دستورات کنترلی جدید، مدیریت در رشته ها (Strings)، تعریف دقیق تر خطاها، قالب بندی اعداد خروجی، اضافه کردن ساختار امتحان و خطا (try/ catch exception) و سایر پیشرفت ها.
Mike Cowlishow
4
متوقف شده
 
نسخه چهارم به دلیل اختلافات اساسی بین توسعه دهندگان در زمینه پیچیدگی زبان کنار گذاشته شد. چندین ویژگی پیشنهادی برای پیشرفت این نسخه به طور کامل کنار گذاشته شد.
 
5
دسامبر 2009
 
اضافه کردن حالت برنامه نویسی سخت گیرانه یا Strict mode که در آن تلاش شده تا بررسی خطاها با دقت بیشتری انجام شده و از ساختارهای مستعد خطا در برنامه نویسی جلوگیری نماید. این ویژگی چندین ابهام در کدهای نسخه 3 را مشخص نمود و همچنین به پیاده سازی رفتار دنیای واقعی در درون برنامه های ES کمک کرد. علاوه بر چند ویژگی جدید دیگر که به این نسخه اضافه شده، ویژگی مهم گیرنده (getter) و تنظیم کننده (setter) و همچنین قابلیت پشتیبانی از کتابخانه JSON نیز افزوده شد.
Allen Wirf Brock
5.1
ژوئن 2011
 
نسخه 5.1 از استاندارد اکما اسکریپت ECMAScript کاملا با ویرایش سوم ISO / IEC 16262 سال 2011 مطابقت دارد.
Allen Wirf Brock
6
ژوئن 2015
 
افزودن ساختار جدید برای نوشتن برنامه از جمله تعریف کلاس، ماژول های ES6 و ... که آنها را بایستی طبق انتظارات حالت برنامه نویسی سخت گیرانه یا Strict Mode در 5 ECMAScript تعریف کنید. از دیگر ویژگی های این بروز رسانی می توان به تکرار کننده ها (iterators)، تابع های فلش دار (arrow function expression)، مولدهای سبک پایتون، داده های باینری، آرایه های دارای نوع (Typed Arrays)، مجموعه های جدید و ... اشاره کرد.
Allen Wirf Brock
7
ژوئن 2016
ECMAScript 2016 (ES 2016)
استاندارد اصلی زبان شامل ویژگی های جدیدی مثل الگوهای تخریب متغیرها، محدوده بندی توابع و متغیرها (Scope)، تماس های انتهای تابع، عملگر نمایش تعداد و ... شده است.
Brian Tericon
8
ژوئن 2017
ECMAScript 2017 (ES 2017)
این نسخه شامل قابلیت جدید تبادل / انتظار یا async/await شده است که با استفاده از مولدها (generators) و وعده ها کار می کند. همچنین شامل ویژگی عملکرد همزمانی و ناگهانی، تلفیق ساختار دستوری با امکان async/await و ... می باشد.
Brian Tericon
9
ژوئن 2018
ECMAScript 2018 (ES2018)
از ویژگی های این نسخه جدید می توان به عملگرهای جدید rest/ spread برای متغیرها و تکرارهای ناهمزمان (asynchronous iterates) و ... اشاره کرد.
Brian Tericon
10
ژوئن 2019
ECMAScript 2019 (ES 2019)
علاوه بر ویژگی های جدید، می توان به Array.prototype.flatMap، Array.prototype.flat و تغییر در عملکرد Array.Sort یا مرتب کردن آرایه ها و خواندن اشیاء Object.form Entries اشاره کرد.
Brian Tericon

در ژوئن 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 وقت داشتند!.

1400/04/14 2580 13
نظرات شما

نظرات خود را ثبت کنید...