يقدم ECMAScript 2023 ميزات جديدة ستؤثر على تطوير الويب.
تعد مواكبة أحدث لغات البرمجة وأطر العمل أمرًا بالغ الأهمية في عالم تطوير الويب المتطور باستمرار. JavaScript هي لغة مستخدمة على نطاق واسع لهذا الغرض ، وقد تم تعيين ES14 (ECMAScript 2023) لتقديم ميزات وتحسينات جديدة ومثيرة.
تستكشف هذه المقالة التحديثات المتوقعة ، بما في ذلك ميزات اللغة والتغييرات القياسية المقترحة في المكتبة وآثارها على تطوير الويب.
1. أنواع السجلات والصفوف
يقدم ES14 أنواع السجلات والصفوف ، والتي تبسط العمل مع هياكل البيانات المعقدة في JavaScript. السجلات تشبه الكائنات ولكن مع مجموعة ثابتة من المفاتيح ونوع محدد لكل قيمة. المجموعات هي مجموعات مرتبة من القيم بنوع محدد لكل عنصر.
فيما يلي مثال على استخدام أنواع التسجيلة والصفقة في ES14:
يكتب شخص = {
الاسم: سلسلة ؛
العمر: الرقم ؛
عنوان: [سلسلة ، سلسلة ، رقم];
};
مقدار ثابت جون: شخص = {
اسم: "جون",
العمر: 30،
عنوان: ["123 شارع رئيسي", "أي بلدة", 12345],
};
يتم تعريف نوع الشخص في هذا المثال باستخدام سلسلة للاسم ورقم للعمر ومجموعة لـ العنوان الذي يشتمل على سلسلة لعنوان الشارع وسلسلة للمدينة ورقم للرمز البريدي شفرة. ثم يتم استخدام نوع الشخص لإنشاء كائن جون.
2. مشغل خطوط الأنابيب
يقدم ES14 مشغل خط الأنابيب ، المشار إليه بالرمز |>، مما يسمح للمطورين بسلسلة التحويلات بطريقة أكثر قابلية للقراءة. باستخدام هذا المشغل ، يتم تنفيذ كل تحويل بواسطة وظيفة منفصلة.
فيما يلي مثال على استخدام مشغل خط الأنابيب في ES14:
مقدار ثابت النتيجة = [1, 2, 3, 4, 5]
|> ((ص) => arr.filter ((ن) => ن ٪ 20))
|> ((ص) => arr.map ((ن) => ن * 2))
|> ((ص) => arr.reduce ((أ ، ب) => أ + ب)) ؛
وحدة التحكم.log (نتيجة) ؛ // الإخراج: 12
من خلال استخدام مشغل خط الأنابيب ، يمكن تصفية المصفوفة [1 ، 2 ، 3 ، 4 ، 5] لتشمل الأرقام الزوجية حصريًا. بعد ذلك ، يتم مضاعفة كل رقم ويتم جمعه لاحقًا للحصول على النتيجة النهائية وهي 12.
3. المعلمات المسماة في دالات السهم
يبسط ES14 وظائف السهم بناء الجملة عن طريق إدخال معلمات مسماة ، وتحسين قابلية قراءة الكود وقابلية الصيانة. لم يعد يجب على المطورين الاعتماد على إتلاف الكائنات لتمرير المعلمات المسماة إلى وظائف الأسهم ؛ بدلاً من ذلك ، يمكنهم تحديدها مباشرة في تعريف الوظيفة.
على سبيل المثال ، ضع في اعتبارك هذا المثال:
مقدار ثابت تحية = ({الاسم ، العمر}) => {
وحدة التحكم.سجل(مرحبا اسمي $ {name} و انا $ {age} سنة);
};
تحية({ اسم: "جون"، عمر: 30 });
// الإخراج: مرحبًا ، اسمي جون وعمري 30 عامًا.
في هذا المثال ، هناك وظيفة سهم تسمى الترحيب تأخذ الامتداد كائن مدمر مع الاسم والعمر يتم تحديد المعلمات. ثم يتم استدعاء وظيفة الترحيب بكائن يحتوي على خصائص الاسم والعمر.
4. التكرارات والمولدات غير المتزامنة
يدعم ES14 الآن التكرارات والمولدات غير المتزامنة ، مما يبسط العمل مع مصادر البيانات غير المتزامنة من خلال السماح باستهلاك البيانات بدون حظر. هذا مثال:
غير متزامنوظيفةاحصل على البيانات() {
مقدار ثابت استجابة = انتظر أحضر(" https://api.example.com/data");
مقدار ثابت البيانات = انتظر response.json () ؛
يعود بيانات؛
}غير متزامنوظيفة* معالجة البيانات() {
مقدار ثابت البيانات = انتظر احصل على البيانات()؛
ل (مقدار ثابت غرض ل بيانات) {
أَثْمَر غرض * 2;
}
}
(غير متزامن () => {
لانتظر (مقدار ثابت نتيجة ل معالجة البيانات()) {
وحدة التحكم.log (نتيجة) ؛
}
})();
في هذا المثال ، يتم إنشاء دالة غير متزامنة ، getData ، لجلب البيانات من واجهة برمجة التطبيقات وإعادتها كـ JSON. وهي تحدد وظيفة مولد غير متزامن ، processData ، لاسترداد وإخراج عناصر البيانات مضروبة في اثنين. ثم يتم استخدام حلقة انتظار لتسجيل كل نتيجة من المولد إلى وحدة التحكم
ES14: تمكين تطوير الويب
يوفر ES14 ميزات وتحسينات جديدة لـ JavaScript ، مما يجعل الكود أكثر قابلية للقراءة والصيانة. تعد أنواع السجلات و tuple ، والمكررات غير المتزامنة ، والمولدات من بين الإضافات ، مما يمنح المطورين أدوات قوية لتطوير الويب الحديث. تعد المواكبة مع ES14 أمرًا حيويًا للقدرة التنافسية في سوق العمل.
يمكن أن يؤدي إتقان JavaScript وإطار عملها مثل React إلى تحسين مهاراتك وقيمتك في مجتمع تطوير الويب ، بغض النظر عن مستوى خبرتك.