162- دروس جافا سكربت – تدريب على امثله – JS Examples For Interview Prep

## مقدمة

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

## 1. التعامل مع المصفوفات

### المثال: تصفية الأرقام الزوجية

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const evenNumbers = numbers.filter(number => number % 2 === 0);

console.log(evenNumbers); // [2, 4, 6, 8, 10]

في هذا المثال، نستخدم دالة `filter` لإنشاء مصفوفة جديدة تحتوي فقط على الأرقام الزوجية من المصفوفة الأصلية.

## 2. استخدام الـ Promises

### المثال: تنفيذ عملية غير متزامنة

function fetchData() {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            const data = { id: 1, name: 'Product A' };
            resolve(data);
        }, 2000);
    });
}

fetchData().then(data => console.log(data)).catch(error => console.error(error));

هنا قمنا بإنشاء دالة `fetchData` التي تعود بـ Promise. بعد مرور ثانيتين، يتم حل الـ Promise وإرجاع كائن البيانات.

## 3. استخدام الـ Closures

### المثال: إنشاء عداد

function createCounter() {
    let count = 0;
    return function() {
        count += 1;
        return count;
    };
}

const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2
console.log(counter()); // 3

هذا المثال يوضح استخدام الـ closures لإنشاء عداد يحتفظ بحالته عبر استدعاءات متعددة.

## 4. التعامل مع الكائنات

### المثال: دمج الكائنات

const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };

const mergedObj = { ...obj1, ...obj2 };

console.log(mergedObj); // { a: 1, b: 3, c: 4 }

في هذا المثال، نستخدم الانتشار (`…`) لدمج كائنين، مع ملاحظة أن القيم في `obj2` ستتجاوز القيم في `obj1` في حالة تعارض الخصائص.

## 5. التعامل مع النصوص

### المثال: عكس سلسلة نصية

function reverseString(str) {
    return str.split('').reverse().join('');
}

console.log(reverseString('hello')); // 'olleh'

هنا نستخدم سلسلة من الدوال لعكس سلسلة نصية: `split` لتقسيم النص إلى مصفوفة من الأحرف، و`reverse` لعكس ترتيب المصفوفة، و`join` لإعادة تجميع الأحرف في سلسلة نصية.

## خاتمة

توفر JavaScript العديد من الأدوات والوظائف التي تجعلها لغة قوية ومتعددة الاستخدامات لتطوير الويب. من خلال فهم هذه الأمثلة وتطبيقها، ستكون في وضع أفضل للتحضير لمقابلة عمل في مجال تطوير الويب. تذكر أن التفكير الناقد وحل المشكلات هما [شركة برمجة مصرية] مفتاح النجاح في أي مقابلة برمجية.