امتحان JS 1: المتغيرات، الأنواع، والدوال (10 تمارين مركبة)

امتحان JS 1: أساسيات جافاسكريبت

اختبر مهاراتك في أساسيات لغة JavaScript، بدءاً من تعريف المتغيرات وصولاً إلى كتابة الدوال البسيطة.

تمرين 1 المتغيرات (Variables)

قم بتعريف المتغيرات التالية باستخدام الكلمات المفتاحية المناسبة (let, const):

  1. متغير باسم `userName` قيمته "أحمد" (قابل للتغيير).
  2. متغير باسم `PI` قيمته 3.14 (غير قابل للتغيير).
  3. حاول تغيير قيمة `PI` إلى 3.15 واشرح ماذا سيحدث في تعليق.
الحل
let userName = "أحمد";
const PI = 3.14;

// PI = 3.15; 
// سيحدث خطأ (TypeError) لأن المتغيرات المعرفة بـ const لا يمكن إعادة تعيين قيمتها.
تمرين 2 أنواع البيانات (Data Types)

أنشئ متغيرات تمثل الأنواع التالية:

  1. سلسلة نصية (String) باسم `message` تحتوي على "مرحباً".
  2. رقم (Number) باسم `age` قيمته 25.
  3. قيمة منطقية (Boolean) باسم `isStudent` قيمتها true.
  4. تحقق من نوع المتغير `age` باستخدام `typeof` واطبع النتيجة في الكونسول.
الحل
let message = "مرحباً";
let age = 25;
let isStudent = true;

console.log(typeof age); // سيطبع: "number"
تمرين 3 العمليات الحسابية (Arithmetic Operators)

قم بإجراء العمليات التالية:

  1. عرف متغيرين `x = 10` و `y = 5`.
  2. اطبع ناتج جمعهما.
  3. اطبع ناتج ضربهما.
  4. اطبع باقي قسمة `x` على `3` (Modulus).
الحل
let x = 10;
let y = 5;

console.log(x + y); // 15
console.log(x * y); // 50
console.log(x % 3); // 1 (لأن 10 تقسيم 3 يساوي 3 والباقي 1)
تمرين 4 دمج النصوص (String Concatenation)

كون جملة كاملة:

  1. لديك المتغيرات: `firstName = "علي"`, `lastName = "محمد"`.
  2. أنشئ متغيراً `fullName` يجمع الاسمين مع مسافة بينهما.
  3. استخدم "Template Literals" (التي تستخدم `` ` ``) لطباعة جملة "مرحباً يا [الاسم الكامل]".
الحل
let firstName = "علي";
let lastName = "محمد";

let fullName = firstName + " " + lastName;

console.log(`مرحباً يا ${fullName}`);
تمرين 5 الدوال البسيطة (Functions)

أنشئ دالة باسم `greet`:

  1. تستقبل وسيطاً (parameter) واحد هو `name`.
  2. تعيد (return) جملة "Hello, [name]!".
  3. استدعِ الدالة مع الاسم "سارة" واطبع النتيجة في الكونسول.
الحل
function greet(name) {
    return "Hello, " + name + "!";
}

console.log(greet("سارة")); // Hello, سارة!
تمرين 6 عوامل المقارنة (Comparison Operators)

ما ناتج العمليات التالية (true/false)؟ اكتب الكود للتحقق:

  1. هل `5 == "5"` (مساواة في القيمة)؟
  2. هل `5 === "5"` (مساواة في القيمة والنوع)؟
  3. هل `10 > 5` و `5 < 2` (استخدم AND `&&`)؟
الحل
console.log(5 == "5");   // true
console.log(5 === "5");  // false
console.log(10 > 5 && 5 < 2); // false (لأن الشرط الثاني خطأ)
تمرين 7 الكائنات البسيطة (Objects)

أنشئ كائناً (Object) يمثل سيارة:

  1. يحتوي على الخصائص: `brand` (تويوتا)، `model` (كورولا)، `year` (2020).
  2. قم بتغيير خاصية `year` لتصبح 2022.
  3. اطبع جملة "سيارتي هي [brand] [model]" باستخدام خصائص الكائن.
الحل
let car = {
    brand: "تويوتا",
    model: "كورولا",
    year: 2020
};

car.year = 2022;

console.log(`سيارتي هي ${car.brand} ${car.model}`);
تمرين 8 المصفوفات (Arrays)

تعامل مع قائمة من الألوان:

  1. أنشئ مصفوفة `colors` تحتوي على: "أحمر"، "أخضر"، "أزرق".
  2. اطبع العنصر الأول في المصفوفة.
  3. أضف لوناً جديداً "أصفر" إلى نهاية المصفوفة (push).
  4. اطبع طول المصفوفة (length).
الحل
let colors = ["أحمر", "أخضر", "أزرق"];

console.log(colors[0]); // أحمر

colors.push("أصفر");

console.log(colors.length); // 4
تمرين 9 العمليات المختصرة (Assignment Operators)

استخدم العمليات المختصرة لتحديث قيمة متغير:

  1. عرف متغيراً `score` قيمته 10.
  2. أضف 5 إلى `score` باستخدام `+=`.
  3. اضرب `score` في 2 باستخدام `*=`.
  4. أنقص 1 من `score` باستخدام `--`.
الحل
let score = 10;

score += 5; // أصبحت 15
score *= 2; // أصبحت 30
score--;    // أصبحت 29

console.log(score);
تمرين 10 التعليقات والطباعة (Comments & Console)

قم بتنفيذ ما يلي:

  1. اكتب تعليقاً من سطر واحد.
  2. اكتب تعليقاً متعدد الأسطر.
  3. استخدم `console.error()` لطباعة رسالة خطأ وهمية "حدث خطأ ما".
  4. استخدم `console.warn()` لطباعة تحذير "انتبه".
الحل
// هذا تعليق من سطر واحد

/*
  هذا تعليق
  متعدد الأسطر
*/

console.error("حدث خطأ ما");
console.warn("انتبه");
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن