الدرس الثاني: المتغيرات وأنواع البيانات في JavaScript
في هذا الدرس، سنتناول مفهوم المتغيرات في JavaScript، وسنتعرف على كيفية تعريف المتغيرات باستخدام الكلمات المحجوزة مثل var
و let
و const
. كما سنناقش أنواع البيانات المختلفة في JavaScript.
المتغيرات في JavaScript
المتغيرات في JavaScript هي أماكن لتخزين القيم التي قد تتغير أثناء تنفيذ البرنامج. في JavaScript، يمكنك تعريف المتغيرات باستخدام ثلاثة كلمات محجوزة هي:
var
: هذه الكلمة المحجوزة كانت الطريقة الرئيسية لتعريف المتغيرات في JavaScript قبل إصدار ECMAScript 6 (ES6).let
: تم تقديمها في ES6، وهي طريقة أكثر أمانًا لتعريف المتغيرات.const
: تم تقديمها أيضًا في ES6، وتُستخدم لتعريف المتغيرات التي لا يمكن تغيير قيمتها بعد التعيين.
1. var
:
var
يمكن استخدامها لتعريف متغير يمكن تغيير قيمته في أي وقت.var
لها نطاق (scope) عالمي أو دالّي (function scope)، مما يعني أنها يمكن أن تكون قابلة للوصول داخل الوظيفة فقط إذا كانت مُعرّفة داخلها، أو في جميع أنحاء السكربت إذا كانت مُعرّفة في السياق العالمي.var
قد تُسبب بعض المشاكل فيما يتعلق بالتغيير غير المتوقع في القيم بسبب طريقة تخصيص النطاق (scope).
مثال:
var name = "Ali";
name = "Ahmed"; // يمكن تغيير القيمة
console.log(name); // ستطبع "Ahmed"
2. let
:
let
هي طريقة لتعريف متغيرات ضمن نطاق الكود الذي يتم تعريفها فيه (أي النطاق المحلي أو block scope).- تُعتبر أفضل من
var
لأنها تتجنب بعض المشاكل المتعلقة بالنطاق.
مثال:
let age = 25;
age = 30; // يمكن تغيير القيمة
console.log(age); // ستطبع 30
3. const
:
const
يُستخدم لتعريف المتغيرات التي لا يمكن تغيير قيمتها بعد التعيين.- لا يمكن إعادة تعيين القيمة التي تم تعيينها بواسطة
const
بعد ذلك. - يجب تهيئة (assign) القيمة عند تعريف المتغير باستخدام
const
. const
لها نفس النطاق (block scope) مثلlet
.
مثال:
const country = "Jordan";
// country = "Syria"; // ستسبب خطأ لأن القيمة غير قابلة للتغيير
console.log(country); // ستطبع "Jordan"
الفرق بين let
و const
و var
الخاصية | var | let | const |
---|---|---|---|
النطاق (Scope) | نطاق دالّي (function scope) أو عالمي | نطاق محلي (block scope) | نطاق محلي (block scope) |
إعادة التعيين | يمكن إعادة تعيين القيمة | يمكن إعادة تعيين القيمة | لا يمكن إعادة تعيين القيمة |
التعريف المبدئي | يمكن تعريفه دون تخصيص قيمة | يمكن تعريفه بدون تخصيص قيمة | يجب تخصيص قيمة عند التعريف |
المشاكل المحتملة | مشاكل في الوصول إلى المتغيرات بسبب النطاق (Hoisting) | أفضل من var لتفادي مشاكل النطاق | لا يمكن تعديل القيمة بعد تخصيصها |
أنواع البيانات في JavaScript
في JavaScript، هناك مجموعة من أنواع البيانات المختلفة التي يمكن تخزينها في المتغيرات. هذه الأنواع تنقسم إلى نوعين رئيسيين:
- الأنواع البدائية (Primitive types):
- هي أنواع بيانات لا يمكن تغيير قيمتها بعد تعيينها.
- تشمل: string (نصوص)، number (أرقام)، boolean (منطقية)، undefined (غير معرف)، null (فارغ)، symbol (رموز).
- الأنواع الكائنات (Object types):
- هي أنواع بيانات يمكن أن تحتوي على مجموعة من القيم التي يمكن تغييرها.
- تشمل: Object (كائنات)، Array (مصفوفات)، Function (دوال).
1. String (نص):
- يُستخدم لتخزين النصوص (سلسلة من الأحرف).
- يمكن استخدام علامات اقتباس مفردة
'
أو مزدوجة"
أو backticks`
.
مثال:
let name = "Ali";
let message = 'Hello, World!';
let greeting = `Hello, ${name}!`; // استخدام القوالب النصية (template literals)
console.log(greeting); // ستطبع "Hello, Ali!"
2. Number (رقم):
- يُستخدم لتخزين الأرقام سواء كانت صحيحة أو عشرية.
مثال:
let age = 25;
let price = 99.99;
console.log(age + price); // ستطبع 124.99
3. Boolean (منطقي):
- يُستخدم لتخزين قيم منطقية:
true
أوfalse
.
مثال:
let isStudent = true;
let isEmployed = false;
console.log(isStudent); // ستطبع true
4. Undefined:
- undefined هي قيمة تمثل المتغيرات التي لم تُعطَ قيمة بعد.
مثال:
let test;
console.log(test); // ستطبع undefined لأن المتغير لم يتم تعيين قيمة له
5. Null:
- null تمثل قيمة فارغة أو غير موجودة.
مثال:
let person = null;
console.log(person); // ستطبع null
6. Symbol:
- symbol هو نوع بيانات جديد في ECMAScript 6 (ES6)، يستخدم لإنشاء معرّفات فريدة.
مثال:
let sym = Symbol('description');
console.log(sym); // ستطبع رمز فريد
7. Object:
- Object يُستخدم لتخزين مجموعات من البيانات التي يمكن أن تتضمن أنواع بيانات مختلفة.
- يمكن أن يحتوي الكائن على خصائص (properties) وقيمها.
مثال:
let person = {
name: "Ali",
age: 30,
isStudent: true
};
console.log(person.name); // ستطبع "Ali"
الختام
في هذا الدرس، تعلمنا كيفية تعريف المتغيرات باستخدام var
و let
و const
، وتعرفنا على الفروق بينها. كما استعرضنا أنواع البيانات المختلفة في JavaScript، سواء كانت بدائية أو كائنات. في الدروس القادمة، سنغطي العمليات الحسابية والمنطقية في JavaScript وكيفية استخدامها للتفاعل مع البيانات.
اكتشاف المزيد من كود التطور
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.