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

0 اشتراک گذاری
0
0
0
0

مقدمه

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 و نسخه‌های بعدی) ویژگی‌های بیشتری به زبان افزودند.

دیدگاهتان را بنویسید

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


شاید دوست داشته باشید
ساخت اپلیکیشن فول استک ری‌اکت با AWS Amplify

ساخت اپلیکیشن فول استک ری‌اکت با AWS Amplify

در این مقاله، یاد می‌گیرید که چگونه یک اپلیکیشن فول استک ری‌اکت را به سادگی با استفاده از AWS Amplify بسازید؛ از تنظیمات اولیه تا استقرار و بهینه‌سازی شامل همه مراحل است.