14 تغییر بزرگ بین Es5 و Es6 در JavaScript

مقدمه

ES5 و ES6 به نسخه‌های مختلف استاندارد ECMAScript اشاره دارند که مشخصات زبان اسکریپت‌نویسی است و به عنوان پایه‌ای برای چندین زبان از جمله جاوااسکریپت عمل می‌کند. تحول از ES5 به ES6 (که به نام ECMAScript 2015 نیز شناخته می‌شود) تغییرات و بهبودهای زیادی را به همراه داشت. در اینجا مقایسه‌ای بین این دو آورده شده است:

let .1 و const (تعریف متغیرها)

ES5: روش اصلی برای تعریف متغیرها استفاده از var بود.
ES6: معرفی let برای تعریف متغیرهای بلوک‌محور و const برای تعریف متغیرهای ثابت بلوک‌محور.

2. الگوهای رشته‌ای (Template Literals)

ES5: رشته‌ها با استفاده از + به هم متصل می‌شدند.

var name = "John";
var greeting = "Hello, " + name + "!";

ES6: الگوهای رشته‌ای معرفی شدند.

 let name = "John";
let greeting = `Hello, ${name}!`;

Arrow Functions .3

ES5:

 function(x) {
return x * x;
}

ES6: توابع پیکانی معرفی شدند که نگارش کوتاه‌تری برای نوشتن توابع ارائه می‌دهند.

 x => x * x;

4. کلاس‌ها (Classes)

ES5: از ارث‌بری پروتوتایپی برای شبیه‌سازی رفتار کلاس‌ها استفاده می‌شد.
ES6: کلمه کلیدی class برای برنامه‌نویسی شیءگرا معرفی شد.

5. بهبود در نگارش اشیاء (Enhanced Object Literals)

ES5: اشیاء با جفت کلید-مقدار تعریف می‌شدند.
ES6: نگارش کوتاه‌تری برای تعریف اشیاء ارائه می‌دهد.

 let name = "John";
let obj = {name}; // Equivalent to {name: name}

6. تجزیه‌سازی (Destructuring)

ES5: روش مستقیمی وجود نداشت.
ES6: امکان استخراج چندین خاصیت از یک شیء یا آرایه به صورت مختصرتر فراهم شد.

let person = { firstName: "John", lastName: "Doe" };
let { firstName, lastName } = person;

7. مقادیر پیش‌فرض، Rest و Spread

ES5: مدیریت مقادیر پیش‌فرض، rest یا spread به صورت دستی انجام می‌شد.
ES6: مقادیر پیش‌فرض برای پارامترهای توابع، پارامتر ...rest برای جمع‌آوری آرگومان‌ها و اپراتور ...spread برای گسترش آرایه یا شیء معرفی شد.

8. ماژول‌ها (Modules)

ES5: سیستم ماژول بومی وجود نداشت. توسعه‌دهندگان از راه‌حل‌های شخص ثالث مانند CommonJS یا AMD استفاده می‌کردند.
ES6: سیستم ماژول بومی با استفاده از import و export معرفی شد.

9. وعده‌ها (Promises)

ES5: از callbacks برای عملیات‌های غیرهمگام استفاده می‌شد.
ES6: وعده‌ها (Promises) برای مدیریت عملیات‌های غیرهمگام به شیوه‌ای ساختارمندتر معرفی شدند.

10. حلقه for-of

ES5: برای تکرار روی آرایه‌ها از حلقه‌های for یا forEach استفاده می‌شد.
ES6: حلقه for-of برای تکرار روی اشیاء قابل تکرار معرفی شد.

Set، Map، WeakSet، WeakMap .11

ES5: معادل مستقیمی وجود نداشت.
ES6: این نوع کلکسیون‌ها برای مدیریت داده‌ها معرفی شدند.

12. نوع Symbol

ES5: چنین نوعی وجود نداشت.
ES6: نوع Symbol برای ایجاد شناسه‌های منحصربه‌فرد معرفی شد.

13. روش‌های آرایه و شیء

ES5: مجموعه محدودی از روش‌ها.
ES6: روش‌های جدیدی مانند Array.from، Array.of، Object.assign و بسیاری دیگر معرفی شدند.

14. مدیریت پارامترها

ES5: پارامترها با استفاده از شیء arguments دسترسی داده می‌شد.
ES6: پشتیبانی مستقیم از مدیریت پارامترها با استفاده از rest، default و spread.

نتیجه

این یک مقایسه در سطح بالا است. انتقال از ES5 به ES6 تغییرات و بهبودهای زیادی را به همراه داشت که زبان جاوااسکریپت را به طور چشمگیری غنی‌تر کرد. با گذشت زمان، نسخه‌های بعدی (مانند ES7/ES2016 و نسخه‌های بعدی) ویژگی‌های بیشتری به زبان افزودند.

[تعداد: 1   میانگین: 5/5]
دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شاید دوست داشته باشید