"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > اليوم - الشهادة الاحترافية لأساسيات avaScript من Mozilla

اليوم - الشهادة الاحترافية لأساسيات avaScript من Mozilla

تم النشر بتاريخ 2024-09-02
تصفح:841

Day - avaScript Foundations Professional Certification by Mozilla

أبرز المفاهيم:

  1. استخدام لـ...من ولـ...في الحلقات
  2. الاختلافات بين Set() والمصفوفة، Map() و الكائنات، و Set() و الخريطة ()

1. استخدام for...of و...in الحلقات

يعد التكرار مفهومًا أساسيًا في البرمجة، حيث يسمح بتنفيذ مجموعة من التعليمات البرمجية عدة مرات. في جافا سكريبت، for...of و for...in هما حلقتان شائعتا الاستخدام، لكنهما تخدمان أغراضًا مختلفة. يمكن أن يساعدك فهم الاختلافات في كتابة تعليمات برمجية أكثر كفاءة وفعالية.

1.1 ل... من الحلقة

يتم استخدام حلقة for...of للتكرار على الكائنات القابلة للتكرار، مثل المصفوفات والسلاسل والخرائط والمجموعات. فهو يوفر طريقة مباشرة للوصول إلى كل قيمة في التسلسل دون الحاجة إلى القلق بشأن الفهرس.

على سبيل المثال)

let teams = ['Red Sox', 'Dodgers', 'Padres']; 

for (let team of teams) {
   console.log(team);
}

// Output: 
// Read Sox
// Dodgers
// Padres

في هذا المثال، for... of يصل مباشرة إلى كل عنصر (فريق) في مصفوفة الفرق ويسجله في وحدة التحكم. تعتبر هذه الحلقات مثالية عندما تحتاج فقط إلى القيم وليس المؤشرات.

1-2. ل... في الحلقة

من ناحية أخرى، يتم استخدام حلقة for...in للتكرار على خصائص (مفاتيح) الكائن. غالبًا ما يتم استخدامه مع الكائنات، ولكن يمكن استخدامه أيضًا مع المصفوفات للوصول إلى الفهارس.

على سبيل المثال)

let Mariners = {place: 'Seattle', league: 'American', color: 'navy blue'}; 

for (let key in Mariners) {
   console.log(`${key}: ${Mariners[key]}`); 
}

// Output: 
// place: Seattle
// league: American
// color: navy blue

في هذا المثال، for...in يتكرر عبر مفاتيح كائن Mariners، مما يسمح بالوصول إلى كل من المفتاح والقيمة المقابلة. من المهم ملاحظة أنه يجب استخدام for...in بحذر مع المصفوفات، حيث أنها تتكرر على جميع الخصائص القابلة للإحصاء، وليس فقط على المؤشرات الرقمية.

1-3. الاختلافات الرئيسية

  • غاية:
    • for...of: يتكرر على قيم كائن قابل للتكرار (المصفوفات، السلاسل، المجموعات، الخرائط).
    • for...in: يتكرر عبر الخصائص (المفاتيح) القابلة للتعداد لكائن ما.
  • حالة الاستخدام:
    • استخدم لـ... عندما تحتاج إلى الوصول إلى القيم مباشرة.
    • استخدم لـ... عندما تحتاج إلى الوصول إلى المفاتيح أو أسماء الخصائص.

2. الاختلافات بين Set() وArray، Map() وObjects، وSet() و`Map()

توفر جافا سكريبت مجموعة متنوعة من هياكل البيانات، ولكل منها نقاط القوة والضعف. لقد استكشفت الاختلافات بين بعض أكثرها استخدامًا:

2-1. Set() مقابل Array

  • التفرد:
    • يقوم Set() بتخزين قيم فريدة، مما يعني عدم السماح بالتكرارات.
    • يسمح المصفوفة بقيم مكررة.
  • طلب:
    • Set() يكرر ترتيب الإدراج.
    • يحتفظ المصفوفة أيضًا بترتيب الإدراج، لكن التكرارات يمكن أن تغير كيفية تفاعلك معها.

على سبيل المثال)

`

let mySet = new Set([1, 2, 3, 3, 4]);
دع myArray = [1, 2, 3, 3, 4];

console.log(mySet) // الإخراج: المجموعة { 1, 2, 3, 4}
console.log(myArray) // الإخراج: [1, 2, 3, 3, 4]

`

في هذا المثال، يقوم Set() تلقائيًا بإزالة التكرارات 3، بينما يحتفظ بها المصفوفة. يكون Set() مفيدًا عندما تحتاج إلى مجموعة من العناصر الفريدة.

2-2. Map() مقابل Object

  • أنواع المفاتيح:

    • Map (): يمكن أن تكون المفاتيح من أي نوع، بما في ذلك الكائنات والوظائف والأنواع البدائية.
    • الكائن: المفاتيح عادة ما تكون عبارة عن سلاسل أو رموز.
  • طلب:

    • Map() يحافظ على ترتيب الإدراج.
    • الكائن لا يضمن ترتيب المفاتيح.
  • مقاس:

    • يحتوي Map() على خاصية size التي تعطي عدد أزواج القيمة الرئيسية.
    • يتطلب الكائن تحديد الحجم يدويًا عن طريق التكرار عبر المفاتيح.

على سبيل المثال)

`
دع myMap = خريطة جديدة ()؛
myMap.set('name', 'John');
myMap.set(42, 'الإجابة');
myMap.set({}, 'كائن فارغ');

دع myObject = {
الاسم: "جون"،
42: "الجواب"،
{}: 'كائن فارغ'
};

console.log(myMap.size); // الإخراج: 3
console.log(Object.keys(myObject).length); // الإخراج: 2 (بسبب تحويل السلسلة الرئيسية)
`
في هذا المثال، يسمح Map() باستخدام مجموعة متنوعة من أنواع المفاتيح، بينما يتم تحويل مفاتيح الكائنات إلى سلاسل. بالإضافة إلى ذلك، يوفر Map() حجم الخريطة بسهولة، بينما بالنسبة للكائنات، تحتاج إلى حساب المفاتيح يدويًا.

2-3. تعيين () مقابل الخريطة ()

  • غاية:
    • Set() عبارة عن مجموعة من القيم الفريدة.
    • Map() عبارة عن مجموعة من أزواج القيمة الرئيسية.
  • حالة الاستخدام:
    • استخدم Set() عندما تحتاج إلى تخزين قائمة بالعناصر الفريدة.
    • استخدم Map() عندما تحتاج إلى ربط القيم بالمفاتيح.

على سبيل المثال)

`
Let mySet = new Set([1, 2 ,3]);
Let myMap = new Map([['key1', 'value1'], ['key2', 'value2']]);

console.log(mySet.has(2)); // الإخراج: صحيح
console.log(myMap.get('key1')); // الإخراج: 'القيمة'1
`
في هذا المثال، يتم استخدام Set() للتحقق من وجود قيمة، بينما يتم استخدام Map() لاسترداد قيمة مرتبطة بمفتاح.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/ryoichihomma/day-4-javascript-foundations-professional-certification-by-mozilla-ddc?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] للحذف هو - هي
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3