هذا التدريب التفاعلي سيساعدك على إتقان المتغيرات في JavaScript من خلال:
المتغير هو حاوية تُستخدم لتخزين البيانات في الذاكرة. يمكن أن تتغير قيمته أثناء تشغيل البرنامج، ومن هنا جاء الاسم "متغير".
// مثال: تعريف متغير وتخزين قيمة فيه
let userName = "أحمد";
let userAge = 25;
let isActive = true;
// أمثلة عملية:
var oldWay = "طريقة قديمة"; // ❌ غير موصى بها
let counter = 0; // ✅ متغير قابل للتغيير
const API_KEY = "abc123"; // ✅ قيمة ثابتة
counter = 1; // ✅ مسموح (let)
// API_KEY = "xyz"; // ❌ خطأ! const لا يمكن تغييرها
// 1. الأعداد (Numbers)
var age = 25;
var price = 9.99;
// 2. النصوص (Strings)
var name = "Ahmed";
var message = 'Hello!';
// 3. القيم المنطقية (Booleans)
var isRaining = true;
var isLoggedIn = false;
// 4. المصفوفات (Arrays)
var colors = ["red", "green", "blue"];
// 5. الكائنات (Objects)
var player = {
name: "Ali",
score: 100
};
لتعريف متغير صحيح في JavaScript، يجب اتباع القواعد التالية:
// ✅ أسماء متغيرات صحيحة:
let userName = "أحمد";
let _privateData = "سري";
let $element = document.getElementById('id');
let firstName = "محمد";
// ❌ أسماء متغيرات خاطئة:
// let 1stName = "أحمد"; // يبدأ برقم
// let user name = "محمد"; // يحتوي على مسافة
// let for = 5; // كلمة محجوزة
// let let = "test"; // كلمة محجوزة
النطاق يحدد أين يمكن الوصول إلى المتغير:
// النطاق العام (Global Scope)
var globalVar = "أنا عام";
// النطاق الدالي (Function Scope) - خاص بـ var
function testVar() {
var functionVar = "أنا دالي";
console.log(functionVar); // ✅ يمكن الوصول
}
// console.log(functionVar); // ❌ خطأ! خارج النطاق
// النطاق الكتلي (Block Scope) - خاص بـ let و const
if (true) {
let blockVar = "أنا كتلي";
const BLOCK_CONST = "أنا ثابت كتلي";
}
// console.log(blockVar); // ❌ خطأ! خارج النطاق