ES6 در جاوا اسکریپت چیست؟
es6 در جاوا اسکریپت چیست؟ ای اس 6 در جاوا اسکریپت چه کاربردی دارد؟ در این مقاله از آکادمی آی تی به آن خواهیم پرداخت.
نشان تجاری JavaScript متعلق به شرکت Oracle است. در واقع، استاندارد واقعی که جاوا اسکریپت پیاده سازی می کند، به نام استاندارد ECMAScript و یا به اختصار ES خوانده می شود. در ابتدا استاندارد اولیه جاوا اسکریپت، ES5 نام داشت که در سال 2009 عرضه شد. این زبان برنامه نویسی جاوا اسکریپت خالص و بدون هیچ قابلیت اضافی بود که در همه جا حتی در IE9 نیز پشتیبانی می شود؛ اما در سال 2015، ES6 که یک استاندارد نسبتاً جدید است عرضه شده و از قابلیت های جدید بسیاری هم پشتیبانی می کند.
البته لازم به ذکر است که این استاندارد از نظر فنی ES2015 نامیده می شود و نام هر نسخه سالانه که بعد از آن انتشار می شود نیز بر اساس سال انتشار مشخص می شود؛ اما در هر حال اغلب افراد ES2015 را ES6 می نامند. امروزه ECMA هر سال یک نسخه جدید از جاوا اسکریپت ارائه می کند اما این استاندارد به طور خاص از این جهت مهم است که یک نشانه از آغاز استاندارد سازی زبان برنامه نویسی جاوا اسکریپت محسوب می شود. در ادامه با ما همراه باشید تا با ES6 در جاوا اسکریپت چیست؟ بیشتر آشنا شوید.
تاریخچه اکما اسکریپت
در رابطه با ES6 در جاوا اسکرپیت چیست؟ باید بگوییم که ES در حقیقت خلاصه عبارت ECMAScript می باشد و انجمنی از تولید کنندگان اروپایی را شامل می شود که در 27 آوریل 1960 در بروکسل تشکیل شد تا با تدوین آیین نامه ها، قوانین و استاندارد هایی برای بهبود تکنیک های عملیاتی، برنامه نویسی و سایر عملکرد های مبتنی بر کد های ورودی و خروجی ارائه دهد.
این انجمن با نام ECMA یا همان انجمن تولید کنندگان رایانه اروپا شناخته می شد. جاوا اسکریپت توسط برندان ایچ و نسخه توسعه یافته نت اسکیپ است. در ابتدا به نام Mocha، بعداً LiveScript و در نهایت جاوا اسکریپت نام گذاری شد. نت اسکیپ جاوا اسکریپت را برای استاندارد سازی به ECMA International ارسال کرد، در نتیجه استاندارد سازی جاوا اسکرپیت، اکما اسکپریت پا به عرصه ظهور گذاشت و پس از تغییر نام به جاوا اسکریپت«توسط ECMA International به عنوان ECMA-262 یا اکما اسکریپت در سال 1997 استاندارد شد. این زبان در طول 25 سال آینده شاهد تحولات بسیاری بوده است و نسخه های متنوعی از آن در سال های متعدد با عناوین زیر ارائه شد.
- ES1 1997
- ES2 1998
- ES3 1999 طویل ترین نسخه قدیمی جاوا اسکریپت اولیه
- ES4 نساخته ای که هیچ گاه نهایی نشد
- ES5 2009. JSON، حالت سخت که روش های ارائه عملکردی و ... به آن اضافه شد.
- ES6 2015، توابع پیکان، let/const، کلاس ها و... به آن اضافه شد.
- ES7، ES8، ES9، ESNext این نسخه با به روز رسانی های متعدد اکنون سالانه منتشر می شود.
در حال حاضر بیشتر توسعه دهندگان از نسخه ES6 استفاده می کنند. این نسخه به عنوان یک نشانه از آغاز استاندارد سازی جاوا اسکریپت مطرح می شود.
دوره مرتبط : آموزش جاوا اسکریپت
کاربرد اکما ECMA script
اکما اسکریپت یک زبان برنامه نویسی گسترده چند منظوره و چند پلتفرمی است. ECMA-262 استاندارد هایی را تعریف می کند که طبق آن ها زبان برنامه نویسی قابلیت های بیشتری خواهد داشت و تنها کاربرد آن تنها در مرورگر ها خلاصه نمی شود. ECMA-262 می تواند بخش های مختلفی از زبان را متاثر کند که نتیجه آن کاربرد های متعددی را در بر می گیرد. بخش هایی از یک زبان برنامه نویسی که تحت تاثیر اکما هستند شامل نحو، متد، کلاس، اپراتور ها، کلید واژه ها، اشیا جهانی، کلمات رزرو شده و... هستند؛ بنابراین بسته به اینکه کدام بخش از یک زبان طبق استاندارد های اکما تنظیم شود، ممکن است کاربرد ها و قابلیت های متنوعی را شامل شود.
اکما اسکریپت یا ES6 در جاوا اسکریپت چیست؟
در رابطه با ES6 در جاوا اسکریپت چیست می توان گفت اکما استداندارد است که برای زبان برنامه نویسی جاوا اسکریپت تعیین شده است. به طور کلی اکما یک سازمان بین المللی است که عمل تعریف استاندارد های سیستم های کامپیوتری و ارتباط سیستم ها را انجام می دهد. سازمان اکما از سال 1961 کار خود را از اروپا آغاز کرده و وظیفه تعریف استاندارد ها را بر عهده دارد و از سال 1994 نیز با عنوان فعلی خود یعنی ECMA شناخته می شود. همان طور که خواندید (ES6) یک استاندارد نسبتا جدید است که در سال 2015 عرضه شده و از قابلیت های جدیدی متعددی پشتیبانی می کند.
قابلیت های جدید ES6 در جاوا اسکریپت چیست؟
از آنجایی که فهرست قابلیت های جدید ES6 بسیار طولانی می باشد، در این گفتار مجال کافی برای اینکه به بررسی کامل قابلیت های جدید ES6 در جاوا اسکریپت چیست، بپردازیم را نداریم به همین جهت تنها برخی از مهم ترین آن ها را گلچین کرده و ارائه داده ایم.
- کلمات کلیدی let و const که به افراد قابلیت تعریف Constant ها را می دهد و با let نیز می توان متغیر تعریف کرد. لازم به ذکر است که پیش از این هم امکان تعریف متغیر ها وجود داشت اما آن ها با var تعریف می شدند که اسکو وسیعی داشتند اما آنچه که از طریق let و const تعریف می شود، اسکوپ محدود تری دارد و این امر احتمال ایجاد باگ را به حداقل می رساند.
- قابلیت Numeric separators در Es6 کمک می کند تا اعداد بزرگ خوانایی بالاتری داشته باشند به عنوان مثال صفر های جلوی یک عدد را با استفاده از () به صورت 3 تا 3 تا از یکدیگر فاصله می دهیم و به این ترتیب می توان عدد مورد نظر را به راحتی خواند.
- قابلیت جدید دیگر امروزه اکما اسکریپت نسخه 6، promise.any می باشد که این متد آرایه ای از پرومیس ها را می گیرد و به محض این که یکی از آن ها resolves شود این متد هم resolves می شود و در صورتی که هیچ کدام از پرومیس ها resolves نشوند ارور AggregateError نمایش داده می شود.
- یکی دیگر از قابلیت های جدید ES6، قابلیت Private class methods است. در این قابلیت می توان با قرار دادن # متد یا پروپرتی را به صورت پرایویت تعریف کرد.
- قابلیت Iif نیز امکان تعریف و اجرای هم زمان تابع یا iif که مخفف immediately invoke function است را به برنامه نویس می دهد.
- قابلیت دیگر extends است که با استفاده از کلمه کلیدی extends می توان یک کلاس جدید با استفاده کلاس دیگر ساخت که به این قابلیت خاصیت ارث بری نیز گفته می شود.
چگونه از ساختار ES6 استفاده کنیم؟
ES6 در عمل در جاهای بسیاری پشتیبانی می شود و تنها مشکل عمده آن در زمینه اینترنت اکسپلورر است؛ بنابراین هر چند که شما می توانید شروع به نوشتن استایل ES6 کنید اما نمی توانید اطمینان داشته باشید که روی مرورگر همه افراد رفتار یکسانی خواهد داشت.
امروزه اکما اسکریپت نسخه 6 به طور معمول به کمک ابزاری مانند Babel به ساختار اکما اسکریپت نسخه 5 کامپایل می شود. ابزار Babel یک کامپایلر است که کد توسعه کدی که در اکما اسکریپت نسخه 6 و یا به اصطلاح ES6 با همه ویژگی های آن نوشته شده است را به کدی تبدیل می کند که روی سایت پروداکشن اجرا شده و در اغلب موارد نیز به کمک webpack به صورت باندل شده و minify- شده عرضه می گردد. اگر برای شما هم سال شده است که نحوه عملکرد ES6 در جاوا اسکریپت چیست؟ باید این گونه بیان کنیم که طرز کار ES6 در جاوا اسکریپت به این صورت است که شما در محیط توسعه خود برخی فایل های js. می نویسید.
شما می توانید آزادانه از هر ساختار زیبای ES6 که مد نظرتان است استفاده کنید؛ اما به جای اینکه این کد مستقیماً اجرا شود، Webpack را طوری تنظیم می کنید که فایل های جاوا اسکریپت را با Babel بارگذاری کند. در اغلب موارد شما باید webpack-dev-server را اجرا کنید تا در زمان ایجاد تغییرات، این کار به صورت خودکار اجرا شود.
حال به جای بارگذاری فایل index.js فایل bundle.js بارگذاری می شود که شامل همه کد های نوشته شده ی شما است. این عمل مزیت عمده دیگری نیز دارد که به شما این اجازه را می دهد از ماژول های NPM در کد زبان برنامه نویسی جاوا اسکریپت خود استفاده کنید. با این وجود زمانی که موارد زیادی اضافه کنید، کد بیش از حد حجیم می شود، هر چند وب پک در زمینه minify کردن عملکرد قابل قبولی دارد.
همچنین بخوانید: معرفی بهترین فریم ورک های سئوفرندلی جاوا اسکریپت
مزیت های اکما اسکریپت نسخه 6 نسبت به جاوا اسکریپت
از مزیت های ES6 نسبت به جاوا اسکریپت می توان به موارد زیر اشاره کرد:
- انسجام بیشتر منابع آموزشی
- خوانا و بلیغ تر بودن کد ها
- یادگیری آسان به علت سهولت بیشتر syntax
- افزایش علاقه مندی افراد به یادگیری آن از سال 2015 (زمان ظهور ES6)
- راغب شدن کمپانی های متعدد برای ساخت فریم ورک هایی برای این زبان همانند فیس بوک و گوگل
آشنایی با جاوا اسکریپت
برای درک آسان تر اکما اسکریپت لازم است تا تعریف روشنی از زبان برنامه نویسی جاوا اسکریپت داشته باشیم. جاوا اسکریپت یکی از مهم ترین زبان های برنامه نویسی در حوزه وب می باشد. با زبان جاوا اسکریپت سرور ها، اپلیکیشن های موبایل، سیستم های وب و همه و همه قابل پیاده سازی هستند.
یکی از مهم ترین مزایای این زبان این است که جاوا اسکریپت دارای فریم ورک ها، کتابخانه های متعددی است که بر پایه این زبان شکل گرفته اند. برخی از مشهور ترین و پر کاربرد ترین فریم ورک ها و کتابخانه های توسعه یافته به این زبان، کتابخانه ی ReactJS، React Native، فریم ورک Angular Js و... هستند. لازم به ذکر است که جاوا اسکریپت تا هم اکنون گسترش قابل توجهی داشته و استفاده از آن بسیار زیاد شده است.
مقایسه اکما اسکریپت و جاوا اسکرپیت
برای پاسخ به سوال ES6 در جاوا اسکریپت چیست؟ و مقایسه ی اکما اسکریپت و زبان جاوا اسکریپت، بهتر است تا مقداری درباره تاریخچه این دو واژه اطلاعات کسب کنیم. جاوا اسکریپت یک زبان برنامه نویسی است که اولین نام آن Mocha بود، سپس به Livescript تغییر نام پیدا کرد و نهایتا اسم جاوا اسکریپت برای آن انتخاب شد. از Brendan Eich خالق زبان برنامه نویسی جاوا اسکریپت خواسته شده بود تا برای Netscape یک زبان مشابه زبان برنامه نویسی Java برای وب خلق کند.
از آنجایی که جاوا دارای پیچیدگی های بسیاری بود، برندان ایچ تصمیم گرفت که یک زبان ساده تر کند تا افراد مبتدی در برنامه نویسی هم بتوانند به راحتی توسط آن زبان برنامه بنویسند. به عنوان مثال یک نمونه از این سادگی ها استفاده اختیاری از نقطه ویرگول بعد از هر statement بود.
به دلیل محبوبیت زبان برنامه نویسی جاوا در آن زمان، تیم بازاریابی نت اسکیپ تصمیم گرفتند از Sun (مالک جاوا) اجازه بگیرند تا از اسم جاوا در نام گذاری این زبان استفاده کنند. به همین دلیل اسم جاوا اسکریپت انتخاب شد. به فاصله یک الی دو سال مایکرو سافت از زبان برنامه نویسی جاوا اسکریپت در اینترنت اکسپلورر استفاده کرد و اسم آن را Jscript گذاشت.
نهایتا زمانی که Netscape تصمیم گرفت پروژه مرورگر خود را تعطیل کند، در عین حال تصمیم گرفت استانداردی خلق کند که مسیر جاوا اسکرپیت را تعیین کند که اسم آن استاندارد اکما اسکریپت است. تا سال 1999، سه نسخه از این استاندارد منتشر شد و به مدت ده سال به سکون رفت و (5th Edition) نسخه بعدی آن را در سال 2009 منتشر کرد و نسخه 2017 - 8th Edition آخرین نسخه آن تا به امروز می باشد.
در آخر می توان گفت که جاوا اسکریپت یک زبان برنامه نویسی است که استانداردی به نام اکما اسکریپت را اعمال می کند. البته زبان های دیگری از جمله ActionScript هم هستند که این استاندارد را به کار می گیرند.
سخن پایانی
ECMAScript 6 مهم ترین تغییر در استاندارد ES می باشد. تا قبل از ارائه اکما اسکریپت نسخه 6 یا همان ES6 در سال 2015، نسخه های قبلی استاندارد ES، دارای تداخل های بسیاری بوده اند و نا هماهنگی زیادی با یکدیگر داشته اند که شرکت اکما با ارائه ES6، همه ی آن تداخلا و نا هماهنگی ها را برطرف کرد. در این مطلب سعی شد به زبان ساده به سوال ES6 در جاوا اسکریپت چیست؟ پاسخ دهیم.