### شرح مفصل لجملة “for…of” في لغة JavaScript
تعتبر جملة “for…of” واحدة من الجمل التكرارية الحديثة في JavaScript، والتي تم تقديمها في ECMAScript 2015 (ES6). تستخدم هذه الجملة للتكرار عبر عناصر القوائم القابلة للتكرار مثل المصفوفات، السلاسل النصية، الكائنات من نوع Map و Set، وغيرها من الكائنات التي تدعم الـiterables.
#### التركيب الأساسي لجملة “for…of”
for (const element of iterable) {
// الكود الذي سيتم تنفيذه لكل عنصر
}
– **element**: يمثل العنصر الحالي في الدورة التكرارية. يمكن أن يكون هذا العنصر قيمة من المصفوفة أو حرف من سلسلة نصية.
– **iterable**: يمثل الكائن القابل للتكرار الذي تريد التكرار عليه. [شركة برمجة مصرية] يمكن أن يكون مصفوفة، سلسلة نصية، Map، Set، أو حتى كائنات أخرى قابلة للتكرار.
#### الأمثلة
##### 1. التكرار على مصفوفة
const numbers = [1, 2, 3, 4, 5];
for (const number of numbers) {
console.log(number);
}
في هذا المثال، تقوم الجملة “for…of” بالتكرار على عناصر المصفوفة `numbers`، وتطبع كل عنصر في سطر جديد.
##### 2. التكرار على سلسلة نصية
const message = "Hello";
for (const char of message) {
console.log(char);
}
هنا، تقوم الجملة “for…of” بالتكرار على كل حرف في السلسلة النصية `message` وتطبع كل حرف على حدة.
##### 3. التكرار على كائن Set
const uniqueNumbers = new Set([1, 2, 3, 4, 5]);
for (const number of uniqueNumbers) {
console.log(number);
}
في هذا المثال، تقوم الجملة “for…of” بالتكرار على كائن `Set` وتطبع كل عنصر فريد فيه.
##### 4. التكرار على كائن Map
const userRoles = new Map([
['Alice', 'Admin'],
['Bob', 'User'],
['Charlie', 'Guest']
]);
for (const [user, role] of userRoles) {
console.log(`${user}: ${role}`);
}
هنا، تستخدم الجملة “for…of” للتكرار على كائن `Map` وتطبع كل زوج من القيم (المفتاح والقيمة).
#### متى تستخدم “for…of”؟
تعتبر جملة “for…of” مثالية عندما تحتاج إلى التكرار عبر عناصر كائن قابل للتكرار بنفس ترتيب الإدخال، دون الحاجة إلى الوصول إلى الفهارس كما هو الحال مع جملة “for” التقليدية. تعتبر “for…of” أكثر وضوحًا وقراءة عند العمل مع مجموعات البيانات التي لا تتطلب تعديل الفهارس أو تحتاج إلى خصائص خاصة أخرى.
#### الخلاصة
تعد جملة “for…of” إضافة قوية إلى أدوات [شركة برمجة مصرية] التكرار في JavaScript، حيث توفر طريقة مبسطة ومقروءة للتكرار على أنواع متعددة من الكائنات القابلة للتكرار. بفضل بساطتها وسهولة استخدامها، أصبحت الخيار المفضل لدى العديد من المطورين عند التعامل مع المصفوفات والكائنات المشابهة.
