نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
JS

منهج JavaScript

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج JavaScript/أنواع البيانات الأساسية

أنواع البيانات الأساسية

انواع البيانات في جافاسكريبتdata types javascripttypeof javascriptprimitive types jstype coercion

جدول مرجعي سريع

1
النوعمثالtypeof
Number42, 3.14"number"
String"نص""string"
Booleantrue / false"boolean"
Undefinedlet x;"undefined"
Nulllet x = null;"object"
Object{ اسم: "علي" }"object"
Array[1, 2, 3]"object"
Functionfunction(){}"function"

الشرح

جافاسكريبت لغة ديناميكية النوع (Dynamically Typed)، أي أنك لا تُحدد نوع المتغير عند تعريفه — النوع يُحدَّد تلقائياً حسب القيمة المُخزَّنة، ويمكن أن يتغير أثناء تنفيذ البرنامج. تنقسم أنواع البيانات في JavaScript إلى قسمين: أنواع بدائية (Primitive) وأنواع مرجعية (Reference).

الأنواع البدائية السبعة هي: Number للأرقام (صحيحة وعشرية معاً بدون تفريق)، String للنصوص المكتوبة بين علامات اقتباس مفردة أو مزدوجة أو Backticks، Boolean وتحمل قيمتين فقط true أو false، Undefined وهي القيمة التلقائية لأي متغير أُعلن دون تعيين قيمة له، Null وتُستخدم عمداً للدلالة على "لا قيمة"، BigInt للأرقام الكبيرة جداً التي تتجاوز حدود Number، وSymbol لإنشاء قيم فريدة لا تتكرر أبداً.

أما الأنواع المرجعية فهي Object (بما فيها Array وFunction)، وتُخزَّن في الذاكرة بشكل مختلف عن الأنواع البدائية — عند نسخ متغير من نوع كائن، أنت في الواقع تنسخ "مرجعاً" (Reference) يُشير لنفس الكائن في الذاكرة، وليس نسخة مستقلة منه.

للتحقق من نوع أي قيمة تستخدم عامل typeof الذي يُعيد النوع كنص. من المفارقات الشهيرة في JavaScript أن typeof null يُعيد "object" رغم أن null ليس كائناً — وهذا خطأ تاريخي معروف موجود في اللغة منذ نشأتها ولم يُصحَّح للحفاظ على التوافق مع الكود القديم.

الصياغة (Syntax)

syntax
1let رقم = 42; // Number
2let نص = "مرحباً"; // String
3let منطقي = true; // Boolean
4let غير_معرف; // Undefined
5let فارغ = null; // Null
6let كبير = 123456789012345678901n; // BigInt
7let رمز = Symbol("فريد"); // Symbol
8let كائن = { اسم: "علي" }; // Object
9
10typeof رقم; // "number"

أمثلة عملية

مثال 1: فحص الأنواع باستخدام typeof

فحص الأنواع باستخدام typeof
1// فحص الأنواع بـ typeof
2console.log(typeof 42); // "number"
3console.log(typeof "نص"); // "string"
4console.log(typeof true); // "boolean"
5console.log(typeof undefined); // "undefined"
6console.log(typeof null); // "object" (مفارقة تاريخية!)
7console.log(typeof {}); // "object"
8console.log(typeof []); // "object" (المصفوفة نوعها كائن)
9console.log(typeof function(){}); // "function"

مثال 2: التحويل بين الأنواع (Type Coercion)

التحويل بين الأنواع (Type Coercion)
1// التحويل الضمني بين الأنواع (Type Coercion)
2console.log("5" + 3); // "53" (تحويل الرقم لنص)
3console.log("5" - 3); // 2 (تحويل النص لرقم)
4console.log("5" * "2"); // 10
5console.log(true + 1); // 2 (true تُعامل كـ 1)
6console.log(Number("42")); // 42 تحويل صريح
7console.log(String(42)); // "42" تحويل صريح

نصائح احترافية

  • —استخدم === بدلاً من == دائماً للمقارنة، لأن == يقوم بتحويل الأنواع تلقائياً وقد يُسبب نتائج غير متوقعة.
  • —typeof null يُعيد "object" وهذا خطأ تاريخي في اللغة — تذكّره جيداً لتجنب الأخطاء.
  • —للتحقق من مصفوفة استخدم Array.isArray() بدل typeof لأنها تُعيد "object" أيضاً للمصفوفات.
  • —BigInt يُكتب بإضافة الحرف n في نهاية الرقم، ولا يمكن خلطه مباشرة مع Number في العمليات الحسابية.

الدرس السابق

المتغيرات وأنواع التخزين (var, let, const)

الدرس التالي

العوامل البرمجية

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر