آموزش برنامه نویسی
خانه مقالات JavaScript ورژن‌های جاوا اسکریپت: ES5 و ES6

ورژن‌های جاوا اسکریپت: ES5 و ES6

نویسنده روح الله حسینی

چرا داشتن اطلاعات کافی راجع به ورژن‌های جاوا اسکریپت خیلی مهمه؟ چون هر برنامه نویسی که با زبان جاوا اسکریپت کد نویسی می‌کنه برای این‌که از قابلیت‌های پیشرفته‌تری که ورژن‌های بالاتر در اختیارش میگذارند استفاده کنه یا مثلا برای این‌که تو پروژه‌اش با مشکلاتی مثل سازگار بودن یا نبودن مرورگرها با فلان ورژن روبه‌رو نشه باید با ورژن‌های مختلف جاوا اسکریپت آشنا باشه.

به علاوه این‌که همیشه تو کامیونیتی‌های مربوط به برنامه نویسی مثل فروم‌ها و سایت‌هایی مثل گیت‌هاب و استک‌اور‌فلو می‌بینید که از این اصطلاح‌ها استفاده می‌شه و خب باید بدونید چه معنی‌ای میدن.

بسیار خب بریم خیلی مختصر و مفید راجع به تاریخچه ورژن های جاوا اسکریپت صحبت کنیم.

 

تاریخچه ورژن‌های جاوا اسکریپت

نام گذاری

جاوا اسکریپت برای اولین بار در سال 1996 عرضه و LiveScript نام گذاری شد و خیلی سریع اسمش‌رو عوض کردن و گذاشتن JavaScript.

گفته میشه این حرکت رو برای این انجام دادن که اون موقع زبان برنامه نویسی جاوا (Java) که کاملا با جاوا اسکریپت (JavaScript) فرق میکنه خیلی بین دولوپرها محبوب بوده و اینا هم اومدن به منظور بازاریابی، از کلمه Java تو اسم این زبان استفاده کردن اما باید بدونید که جاوا و جاوا اسکریپت تقریبا هیچ ربطی به هم ندارن و مواظب باشید که باهم اشتباه نگیریدشون.

یک سال بعد یعنی در سال 1997، جاوا اسکریپت تو سازمانی به اسم Ecma International ثبت میشه تا استاندارد سازی بشه و از اون به بعد ECMAScript 1 یا ES1 تبدیل به اولین ورژن از استاندارد جاوا اسکریپت شد

پس یادتون باشه در عمل اسم زبان برنامه‌نویسی‌مون جاوا اسکریپت هست اما استانداردهای مختلفی داره که اولین‌شون ES1 بوده، هرچند ECMAScript (اِکما اسکریپت) و JavaScript می‌تونن به جای هم استفاده بشن و در واقع یک چیز هستند.

 

ES5

چندین سال بعد یعنی در سال 2009، ECMAScript 5 یا ES5 با کلی ویژگی‌های جدید عرضه شد هر چند که سال‌ها طول کشید تا مرورگرها این تغییرات و ویژگی‌های جدید رو اضافه کنند.

 

ES6

در نهایت در سال 2015 ورژن جدیدتر و پرتغییرتر ES2015 یا ES6 در ژوئن سال 2015 عرضه شد که بزرگترین آپدیت استاندارد زبان جاوا اسکریپت با کلی ویژگی‌های جدید محسوب میشه.

این آپدیت هنوز هم که هنوزه اتفاق بزرگی برای جاوا اسکریپت و همین‌طور در بین برنامه نویس‌های زبان جاوا اسکریپت به حساب میاد.

ممکنه بعضی جاها ببینید به جای ES6 از ES2015 یا ECMAScript 2015 هم استفاده کنند که اتفاقا اسم رسمی‌ش هم همینه اما معمولا از همون ES6 استفاده می‌کنن.

دلیل اینکه اسم رسمی‌ش رو گذاشتن ES2015 اینه که از اون سال به بعد تصمیم گرفتن به جای اینکه هر چند سال یک‌بار یک آپدیت بزرگ انجام بدن، هر سال آپدیت‌ش کنند این طوری یادگیری در مورد آپدیت‌ها برای دولوپرها هم راحت‌تر میشه و نام‌گذاری استاندارد جدید هم به شکل ES(year) انجام میشه، مثلا ES2016 و ES2017 و …

 

استفاده از ورژن‌های مختلف جاوا اسکریپت

پشتیبانی در مرورگرها

پشتیبانی مرورگرها از ورژن‌های جاوا اسکریپت


با این حساب ممکنه بپرسید از کدوم یک از ورژن‌های جاوا اسکریپت این روزا باید استفاده کنیم؟ یا اصلا از کدوم ورژن می‌تونیم بدون مشکل استفاده کنیم؟

در جواب باید بگم که نسخه 2009 جاوا اسکریپت یعنی ES5 توسط همه مرورگرها پشتیبانی میشه چه مرورگرهای جدید چه قدیمی و کاملا قابل استفاده است.

در مورد ورژن های جدیدتر مثل ES8، ES7، ES6 هم میشه گفت که تو تمام مرورگرهای مدرن پشتیبانی میشن اما نه همه مرورگرها (قدیمی ها نه)

اما خب نمی‌تونیم فرض‌رو براین بگیریم که تمام کاربرامون از مرورگرهای مدرن و به‌روز استفاده می‌کنند.

به هر صورت اینجا هم دستمون بازه و میتونیم از بیشتر ویژگی‌هاشون با تبدیل یا Convert کردن‌شون به ES5 استفاده کنیم.

برای این کار از پروسه‌ای به اسم Transpiling و همین‌طور Polyfilling استفاده می‌کنند.

اما یادتون باشه ES6 در واقع تمام ویزگی‌های ES5 رو در خودش دارا هست و سینتکس ES5 رو اور رایت نکرده یا تغییر نداده و فقط ویزگی‌های جدیدتری رو بهش اضافه کرده و به عبارتی تو دل خودش ES5 رو هم داره.

برای دونستن اینکه از چه ویژگی‌هایی تو چه مرورگرهایی پشتیبانی میشه می‌تونید به این جدول سازگاری ES6 سری بزنید.

ورژن‌های دیگه‌ای مثل ES9 و ES10 هم هستن که در مورد این‌ها هم بعضی از ویزگی‌هاشون تو مرورگرهای مدرنی مثل فایرفاکس و کروم اضافه شده و مثلا با ترنسپایلینگ یا پالیفیلینگ کردن کد هاتون، که بالا بهش اشاره شد، میتونید ازشون استفاده کنید.

 

ویژگی های جدید ES6

از ویژگی‌های اصلی ES6 میشه به این موارد اشاره کرد:

  • Arrow functions
  • Classes
  • Modules
  • Promises
  • Generators
  • let and const

البته نیازی نیست همه این‌ها رو همین الان بفهمید و صرفا برای اطلاعات عمومی بهش اشاره کردیم، ولی بعدا می‌تونید با یاد گرفتن‌شون کد‌های بهینه‌تری بنویسید و قدرت جاوا اسکریپت رو بچشید.

 

کدوم ورژن رو یاد بگیرم و استفاده کنم؟

استفاده از ES9 و ES10 واقعا فعلا لازم نیست و توصیه هم نمیشه حداقل تا وقتی که بیشتر جا بیوفته و به مرورگرهای بیشتری اضافه بشه

به‌علاوه این‌که استفاده از ES6 و ES7 و ES8 می‌تونه به‌خودی‌خود، تجربه برنامه نویسی به زبان جاوا اسکریپت، به‌صورت حرفه‌ای، رو براتون رقم بزنه و تمام نیازها‌تون رو برطرف کنه.

اگه ES6 انقدر خوب و پیشرفته‌س چرا اصلا باید سینتکس ES5 رو یاد بگیریم؟ و چرا اکثر منابع آموزشی اول این ورژن رو یاد میدن؟

خب جواب ساده‌س، ES6 نسبتا جدیده و اکثر کدبیس‌ها و پروژه‌ها و مثال‌هایی که به زبان جاوا اسکریپت وجود داره مثلا تو گیت هاب یا هر جای دیگه با ES5 نوشته شده و به عنوان بک دولوپر برای این‌که بتونید روی این پروژه‌ها کار کنید باید سینتکس ES5 رو بلد باشید.

گذشته از این، یادگیری ES5 میتونه کمک‌تون کنه راحت‌تر بفهمید پشت صحنه کدها واقعا چه اتفاقاتی می‌افته چون در ES6 مفاهیم انتزاعی مثل کلاس‌ها یک جورایی نحوه کار کدها رو در پشت صحنه مخفی می‌کنه.

 

نتیجه گیری

همون طور که گفتیم توصیه میشه مفاهیم پایه جاوا اسکریپت رو با ES5 یاد بگیرید و حتی پروژه‌های بزرگ رو هم در ابتدا با همین سینتکس بنویسید و بعد سراغ مفاهیم جدیدی که ES6 ارائه میده برید.

منبع
Introduction to the ES6 – freeCodeCamp.org

مقالات مرتبط

کامنت بگذارید