أساسيات الصياغة
let message = "مرحبًا"; // جملة (statement)
const PI = 3.14; // تنتهي الجمل بفاصلة منقوطة (اختيارية لكن مستحسنة)
// هذا تعليق سطر واحد
/* تعليق
متعدد الأسطر */
JavaScript حسّاسة لحالة الأحرف: name وName مختلفان.
أنواع البيانات الأساسية (Primitives)
let text = "نص"; // String — نصوص
let count = 42; // Number — أرقام (صحيحة وعشرية)
let isActive = true; // Boolean — true / false
let nothing = null; // Null — قيمة فارغة مقصودة
let notDefined; // Undefined — لم تُعيَّن قيمة بعد
let big = 123n; // BigInt — أرقام ضخمة جدًا
let id = Symbol("id"); // Symbol — معرّف فريد
النوع المرجعي: Object
let person = { name: "براء", age: 25 }; // كائن
let colors = ["أحمر", "أخضر"]; // مصفوفة (نوع كائن)
معرفة النوع بـ typeof
typeof "نص" // "string"
typeof 42 // "number"
typeof true // "boolean"
typeof undefined // "undefined"
typeof { } // "object"
typeof null // "object" (خطأ تاريخي معروف!)
التحويل بين الأنواع (Type Conversion)
// إلى نص
String(123) // "123"
(123).toString() // "123"
// إلى رقم
Number("42") // 42
parseInt("42px") // 42
parseFloat("3.14") // 3.14
// إلى منطقي
Boolean(0) // false
Boolean("نص") // true
القيم الكاذبة (Falsy)
ستُّ قيم تُعتبر false في السياق المنطقي:
false, 0, "", null, undefined, NaN
كل ما عداها صادق (truthy).
الأخطاء الشائعة
- ❌ توقّع
typeof null === "null"→ النتيجة"object"(خطأ تاريخي). - ❌ الخلط بين
nullوundefined→nullفراغ مقصود،undefinedلم يُعيَّن بعد. - ❌ مقارنة الأنواع المختلفة بـ
==→ استخدم===(تُقارن النوع والقيمة).
خلاصة
JavaScript لها أنواع أساسية (string, number, boolean, null, undefined, BigInt, Symbol) ونوع object. استخدم typeof لمعرفة النوع، ودوال التحويل (Number, String, Boolean)، وافهم القيم الكاذبة.