تتطور JavaScript باستمرار ، وكل عام يجلب مجموعة جديدة من الميزات المصممة لجعل حياة المطورين أسهل. ES2023 ، آخر تحديث ، مليء بالأدوات الجديدة التي تعزز كيفية كتابة الكود والقراءة والحفاظ على الكود. دعنا نغوص في بعض الميزات البارزة التي تريد البدء في استخدامها في مشاريعك.
FindLast: تجد هذه الطريقة العنصر الأخير في صفيف يلبي شرطًا محددًا.
const numbers = [1, 2, 3, 4, 5]; const lastEven = numbers.findLast(num => num % 2 === 0); // 4 // Find last user who is 18 years old in large array const users = [/* array with 10000 users */]; users.findLast(user => user.age === 18);FindLastIndex: هذه الطريقة تُرجع فهرس هذا العنصر الأخير.
const lastEvenIndex = numbers.findLastIndex(num => num % 2 === 0); // 3
2.
Hashbangs (#!) في ملفات JavaScript
#!/usr/bin/env node
console.log ("مرحبا ، العالم!") ؛
#!/usr/bin/env node console.log("Hello, world!");
3.
هذا التحسين يجعل الخريطة الضعيفة أكثر تنوعًا ، خاصةً عندما تحتاج إلى مفاتيح فريدة خالية من التصادم توفرها الرموز.
const wm = new WeakMap(); const sym = Symbol('key'); wm.set(sym, 'value'); console.log(wm.get(sym)); // 'value' // Storing hidden game data that players can't easily access, such as secret unlock codes: const secretCode = Symbol('vc-cheat-code'); const gameData = new WeakMap(); gameData.set(secretCode, 'PANZER-ASPIRINE-BIGBANG-PRECIOUSPROTECTION');مجموعة التجميع بواسطة الطريقة
const animals = [ { type: 'mammal', name: 'dog' }, { type: 'bird', name: 'sparrow' }, { type: 'mammal', name: 'cat' }, ]; const grouped = animals.group(({ type }) => type); console.log(grouped); // { // mammal: [{ type: 'mammal', name: 'dog' }, { type: 'mammal', name: 'cat' }], // bird: [{ type: 'bird', name: 'sparrow' }] // }
فرز المصفوفات حصلت للتو على أنظف مع tosorted. على عكس الفرز ، الذي يغير الصفيف الأصلي ، يعيد Tosorted صفيفًا جديدًا مصنّفًا ويُرجع مصفوفة عكسية جديدة ، تاركًا الأصلي لم يمسها.
6.
const numbers = [1, 2, 3, 4, 5]; const lastEven = numbers.findLast(num => num % 2 === 0); // 4 // Find last user who is 18 years old in large array const users = [/* array with 10000 users */]; users.findLast(user => user.age === 18);
توفر الطريقة مع طريقة بسيطة لإنشاء صفيف جديد عن طريق استبدال عنصر في فهرس معين.
7.
const numbers = [1, 2, 3, 4, 5]; const lastEven = numbers.findLast(num => num % 2 === 0); // 4 // Find last user who is 18 years old in large array const users = [/* array with 10000 users */]; users.findLast(user => user.age === 18);
إدارة الوعود لم تكن أسهل ، بفضل الوعد. تتيح لك هذه الطريقة الجديدة إنشاء وعد جنبًا إلى جنب مع حلها ورفض الوظائف في GO.
دعم المتصفح لـ ES2023
const { promise, resolve, reject } = Promise.withResolvers(); setTimeout(() => resolve("done"), 1000); promise.then(console.log); // "done"
Firefox ، Chrome و Edge تدعم بعض الميزات Array.prototype.findlast () و Array.Prototype.FindLastIndex ()
array.prototype.findlastindex () من المتوقع إضافة المزيد من ميزات ES2023 في التحديثات المستقبلية.
يجلب
ES2023 مجموعة من الميزات الجديدة التي تجعل JavaScript أكثر قوة وأسهل في العمل معها. من أساليب الصفيف المحسّنة إلى التعامل بشكل أفضل ، فإن هذه التحديثات تدور حول جعل الكود أكثر نظافة وأكثر كفاءة. مع استمرار نمو JavaScript والتطور ، يضمن البقاء على اطلاع مع هذه التغييرات أنك تحصل دائمًا على أقصى استفادة من اللغة.
مراجع:
مسودة ECMA-262
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3