×
تدريب JavaScript - أنواع البيانات (الإصدار المتكامل)

🧩 أنواع البيانات الأولية (Primitive Data Types) في JavaScript

تعرف على كيفية تعريف واستخدام أنواع البيانات الأولية في JavaScript

🎯 ما ستتعلمه في هذا التدريب

هذا التدريب التفاعلي سيساعدك على إتقان أنواع البيانات الأولية في JavaScript من خلال:

  • أسئلة تفاعلية متنوعة تشمل اختيار متعدد، وسحب وإفلات
  • ✅ فهم الفروق بين الأنواع الأولية والمركبة
  • ✅ إتقان مفاهيم Number, String, Boolean
  • ✅ فهم undefined و null والفرق بينهما
  • ✅ التعامل مع Symbol و BigInt في JavaScript الحديث
  • ✅ إمكانية إعادة التدريب لتحسين مستواك وتعزيز المفاهيم

🔤 الأنواع الأولية الأساسية في JavaScript

💡 الأنواع الأولية السبعة (7 Primitive Types)

في JavaScript، هناك 7 أنواع أولية رئيسية، كل نوع له خصائص واستخدامات مختلفة:

// 1. String - النصوص
let name = "أحمد";
// 2. Number - الأرقام
let age = 25;
// 3. Boolean - القيم المنطقية
let isStudent = true;
// 4. Undefined - غير معرّف
let x; // قيمة x هي undefined
// 5. Null - قيمة فارغة عمداً
let y = null;
// 6. Symbol - رمز فريد (ES6+)
const sym = Symbol("id");
// 7. BigInt - أرقام كبيرة (ES2020+)
const bigNum = 9007199254740991n;

📝 String - نوع النصوص

يستخدم لتمثيل النصوص والجمل في JavaScript. يمكن كتابة النصوص بين علامتي اقتباس مفردة أو مزدوجة:

let singleQuote = 'نص بين علامتي تنصيص مفردة';
let doubleQuote = "نص بين علامتي تنصيص مزدوجة";
let backtick = `نص باستخدام backticks (قوالب نصية)`;

// دمج النصوص
let fullName = "أحمد" + " " + "محمد";
// أو باستخدام القوالب النصية
let greeting = `مرحبا ${fullName}!`;

🔢 Number - نوع الأرقام

يستخدم لتمثيل جميع أنواع الأرقام: الصحيحة والعشرية والإيجابية والسالبة:

let integer = 42; // عدد صحيح
let decimal = 3.14; // عدد عشري
let negative = -10; // عدد سالب
let scientific = 5e3; // 5000 (5 × 10³)

// قيم خاصة من نوع Number
let infinityValue = Infinity;
let notANumber = NaN; // Not a Number

Boolean - القيم المنطقية

له قيمتان فقط: true (صواب) أو false (خطأ). يستخدم في الشروط والعمليات المنطقية:

let isActive = true;
let isCompleted = false;

// استخدام في الشروط
if (isActive) {
  console.log("الحساب نشط");
}

// المقارنات ترجع قيم منطقية
let result = (10 > 5); // true

Undefined و Null - القيم الخاصة

Undefined: تعني أن المتغير مُعلن ولكن لم يُعطَ قيمة بعد.

Null: تعني أن المتغير مُعلن وأُعطيت له قيمة فارغة عمداً.

// Undefined - غير معرّف
let x;
console.log(x); // undefined
console.log(typeof x); // "undefined"

// Null - قيمة فارغة عمداً
let y = null;
console.log(y); // null
console.log(typeof y); // "object" (هذا خطأ في JavaScript)

🔣 Symbol - الرموز الفريدة

تم إضافته في ES6، يُستخدم لإنشاء قيم فريدة لا تتكرر، مفيد لإنشاء مفاتيح خاصة في الكائنات:

// إنشاء رمز فريد
const id = Symbol("id");
const id2 = Symbol("id");

// الرموز تكون فريدة حتى بنفس الوصف
console.log(id === id2); // false

// استخدام الرموز كمفاتيح في الكائنات
const user = {
  name: "أحمد",
  [id]: 123 // مفتاح خاص
};

🧮 BigInt - الأرقام الكبيرة جداً

تم إضافته في ES2020، يُستخدم لتمثيل الأرقام الأكبر من الحد الأقصى لنوع Number:

// الحد الأقصى لنوع Number
const maxNumber = Number.MAX_SAFE_INTEGER;
console.log(maxNumber); // 9007199254740991

// استخدام BigInt للأرقام الكبيرة
const bigInt1 = 9007199254740991n;
const bigInt2 = BigInt("9007199254740991");

// العمليات الحسابية مع BigInt
const result = bigInt1 + 1n;
console.log(result); // 9007199254740992n

🔄 سلوك JavaScript مع النصوص الرقمية (Numeric Strings)

عند إجراء عمليات حسابية على نص يحتوي على أرقام، يحاول JavaScript تحويله تلقائيًا إلى رقم:

// 1. عملية الضرب تحول النصوص إلى أرقام:
let result = "10" * "2"; // النتيجة: 20 (رقم)
// 2. عملية الجمع تدمج النصوص:
let sum = "10" + "2"; // النتيجة: "102" (نص)
// 3. عوامل أخرى تحول إلى أرقام:
let subtract = "10" - "2"; // 8 (رقم)
let divide = "10" / "2"; // 5 (رقم)

💡 ملاحظة مهمة: عامل الجمع (+) يدمج النصوص، بينما العوامل الحسابية الأخرى تحول النصوص إلى أرقام.

🎯 اختر نمط التدريب

⚠️ تنبيه
الرجاء اختيار إجابة قبل الضغط على تأكيد