مرحبًا بـ JavaScript 2.0

يهيمن JavaScript على الويب و ECMAScript ، جوهر اللغة ينمو. تجلب المواصفات الجديدة (ES6 أو JS2) ، والمتوقعة في منتصف هذا العام ، العديد من الابتكارات التي يمكن تجربتها اليوم. يتمتع Firefox حاليًا بأفضل دعم ، ولكن من الممكن أيضًا استخدام polyfills من خلال ما يسمى transpilers مثل Google Traceur . فيما يلي لمحة موجزة عن الميزات الجديدة لـ ES6.


الكلمة الأساسية الجديدة تسمح لك بعمل أشياء كثيرة أفضل من var : Scoping الآن يتصرف تمامًا كما هو الحال في اللغات الأخرى (C / C ++ ، Java) ، وهذا هو السبب في أن لكتل ​​if الآن نطاقها الخاص أيضًا. يتم أيضًا إصلاح الرفع ، أي تقديم الإعلانات المتغيرة (وليس تخصيصات القيمة) ضمن النطاق المعني:

console.log(x);
var x = 'foo'; 
// undefined

console.log(y);
let y = 'bar';
// not initialized

عدد الابتكارات الأخرى طويل: الثوابت (const) ، والقيم الافتراضية للوظائف (function pow (a، b = 2) {return Math.pow (a، b)؛}) ، تدوين جديد للوظائف (let pow = (أ ، ب = 2) => Math.pow (أ ، ب) ؛) ، العديد من الوظائف الجديدة (كرر () ، تحتوي على () ، يبدأ مع () ، اعثر () ، findIndex ()) ، بناء الحلقة الجديدة لـ ... من.

يجب أيضًا ذكر مجموعة أنواع البيانات الجديدة والخريطة والوكيل والرمز واستيراد (أجزاء من ملفات جافا سكريبت الأخرى) مع الاستيراد وبناء جملة بديهية جديدة للفئات والميراث. ولكن غالبًا ما تكون هناك أيضًا أشياء صغيرة ولكنها طال انتظارها مثل إمكانية فواصل الأسطر في السلاسل الحرفية (لاحظ علامات الاقتباس الخاصة):

`foo

bar`

لطالما كانت JavaScript أكثر من مجرد أداة لحيل مواقع الويب الصغيرة - فهي تنشئ تطبيقات ويب قوية وعالية الأداء لا تكون بأي حال من الأحوال أدنى من نظيراتها على سطح المكتب. مع العدد الكبير من الابتكارات المفيدة والدعم المتاح بالفعل من ES6 ، تعد البرمجة أكثر متعة.

من منا لم يرغب دائمًا في التحقق من المساواة بين رقمين بمساعدة الرقم الثابت الجديد EPSILON ، الذي تحمل قيمته الفرق بين 1 وقيمة النقطة العائمة الأعلى التالية؟

let cmp = (a,b) => Math.abs(a-b) 
عودة