ورقة غش JavaScript سريعة وعملية من Toptal: ES6 وما بعدها
نشرت: 2022-03-11ECMAScript 6 (ES6) هي أحدث مواصفات قياسية لـ JavaScript ، لغة برمجة الويب. منذ HTML5 وولادة Node.js ، وقت التشغيل الذي يسمح لنا بتشغيل JavaScript على الخادم أو سطح المكتب ، اكتسبت JavaScript زخمًا فريدًا. هناك معدل اعتماد متزايد بين الشركات ، واحتضانها في الإنتاج ، وبالتالي كانت أحدث ميزاتها في انتظار كبير.
أنشأنا ورقة الغش هذه كقائمة من ميزات ES6 التي نستخدمها كل يوم. في محاولة لأن تكون شاملة ولكن موجزة في نفس الوقت ، يتم ترك طرق API الجديدة منفصلة. بالنسبة لأولئك الذين يحتاجون إليها ، قم بإجراء بحث سريع بنفسك أو حاول استكشاف وثائق MDN لالتقاط أحدث واجهات برمجة التطبيقات التجريبية. ومع ذلك ، يتم تضمين بعض خصائص حافة النزيف مثل غير async
await
من مسودة المواصفات التالية (ES7). هذا لأن معظم المطورين سيستخدمون مترجمًا مثل Babel على أي حال للاستفادة من أحدث JavaScript.
يمكنك اختبار بعض النصائح المذكورة عن طريق تشغيل العقدة REPL بهذا الأمر:
node --use-strict $(node --v8-options | grep harm | awk '{print $1}' | xargs) #ES6
أو استخدم عقدة babel مباشرة لتحقيق أقصى استفادة من Javascript في وحدة التحكم الخاصة بك.
انقر هنا لتنزيل ورقة الغش JavaScript ES6
ورقة الغش جافا سكريبت (ES6 وما بعدها)
الثوابت | دعونا مقابل فار | |
> const أويلر = 2.7182818284 | > متوسط var = 5 | |
تحذير! إذا كانت مصفوفة أو كائن ، فإن المرجع يبقى ثابتًا . إذا كان الثابت هو مرجع إلى كائن ، فلا يزال بإمكانك تعديل المحتوى ، ولكن لا يمكنك تغيير المتغير مطلقًا. | ||
> CONSTANTS = [] | كن على علم بالمناطق الميتة الزمنية : | |
> console.log (val) // -> 'undefined' | ||
لأنها تعادل: | ||
تدوين ثنائي وثنائي وسداسي | > فار فال | |
> 0b1001011101 // 605 | ||
لا يتم رفع المتغيرات التي تم الإعلان عنها باستخدام "let / const": | ||
أنواع جديدة | > console.log (val) | |
الرموز والخرائط والخرائط والضعف والمجموعات | ||
دالة السهم | وظائف جديدة محددة النطاق | |
> setTimeout (() => { | > { | |
ما يعادل وظيفة مجهولة | مكافئ بتعبيرات وظيفية تم استدعاؤها فورًا (IIFE) | |
> setTimeout (الوظيفة () { | > (وظيفة () { | |
طرافات تدوين الكائن | String Interpolation ، وذلك بفضل Template Literals | |
// الخصائص المحسوبة // الكائن الحرفي // مثل } | > اسم const = "Tiger" // يمكننا الحفاظ على الأسطر الجديدة ... ![]() | |
المعلمات الافتراضية | ||
> تعمل howAreYou (answer = 'ok') { | ||
وعود | الطبقات ، الميراث ، الرهبان ، الحاصلون | |
وعد جديد ((حل ، رفض) => { | فئة مستطيل يمتد الشكل { | |
تدمير المصفوفات | تدمير الكائنات | |
> دع [أ ، ب ، ج ، د] = [1 ، 2 ، 3 ، 4] ؛ | > لوقا = {الاحتلال: 'جيد' ، | |
عامل انتشار | ... اذهب للتدمير مثل الزعيم | |
// تحويل المصفوفات إلى فاصلة مفصولة | > كونست [قطة ، كلب ، ... سمك] = [ | |
أو قم بعمل دفعة أفضل | ... والدمار في المستقبل ES7 | |
> اسمحوا arr = [1، 2، 3] | {أ ، ب ، ... الراحة} = {أ: 1 ، ب: 2 ، ج: 3 ، د: 4} | |
غير متزامن ES7 | انتظر ES7 | |
وظيفة غير متزامنة schrodinger () { | يحاول { | |
تصدير ES7 | استيراد ES7 | |
دالة التصدير sumTwo (أ ، ب) { | استيراد رد من "رد فعل" | |
مولدات كهرباء | ||
يقومون بإرجاع كائنات تقوم بتنفيذ بروتوكول التكرار. أي أنه يحتوي على طريقة () تالية تُرجع {القيمة: <بعض القيمة> ، تم: <صواب أو خطأ>} . | ||
function * incRand (max) {// تُعرِّف العلامة النجمية هذا بأنه منشئ | ||
> var rng = incRand (2) // إرجاع كائن منشئ |