📘 فهم متغير const في JavaScript: دليل المبتدئين الشامل

اليوم سنتعرف على نوع مهم جداً من المتغيرات في JavaScript وهو const. إذا كنت قد تعلمت سابقاً عن var و let، فأنت على وشك اكتشاف النوع الثالث والأكثر أماناً في كثير من الحالات.


🔍 ما هو متغير const؟

const هي اختصار لكلمة constant والتي تعني "ثابت". عندما تنشئ متغيراً باستخدام const، فإنك تقوم بتعيين قيمة له لا يمكن تغييرها لاحقاً في البرنامج.

// إنشاء متغير ثابت باستخدام const
const PI = 3.14159;
const COMPANY_NAME = "Codex Academy";

في المثال أعلاه، قمنا بإنشاء متغيرين ثابتين لا يمكن تعديل قيمتهما لاحقاً.


⚡ الفرق الأساسي بين const و let

الفرق الرئيسي بين const و let هو أن const لا يسمح بإعادة التعيين، بينما let يسمح بذلك.

// مثال مع let (مسموح بالتغيير)
let score = 10;
score = 20; // ✅ هذا مسموح

// مثال مع const (غير مسموح بالتغيير)
const maxScore = 100;
maxScore = 200; // ❌ هذا سيتسبب في خطأ!

عند محاولة تغيير قيمة متغير const، ستحصل على خطأ يقول: TypeError: Assignment to constant variable.


🎯 متى نستخدم const؟

استخدم const في الحالات التالية:

  • عندما تكون القيمة ثابتة ولا تتغير
  • للقيم التي تمثل إعدادات ثابتة في التطبيق
  • عندما تريد منع التعديل العرضي على القيمة
// أمثلة عملية لاستخدام const
const API_URL = "https://api.example.com";
const MAX_USERS = 1000;
const APP_VERSION = "1.0.0";
const DEFAULT_LANGUAGE = "ar";

💡 معلومات مهمة عن const

  1. 必須 التهيئة فوراً: يجب تعيين قيمة للمتغير عند إنشائه
const name; // ❌ خطأ: يجب تعيين قيمة
const name = "أحمد"; // ✅ صحيح
  1. يمكن استخدامه مع الكائنات والمصفوفات: لكن مع بعض التفاصيل المهمة
const person = { name: "محمد", age: 25 };
person.age = 26; // ✅ مسموح (تعديل الخاصية)

const colors = ["أحمر", "أخضر"];
colors.push("أزرق"); // ✅ مسموح (إضافة عنصر)
  1. نطاق const هو block scope: مثل let، يعمل ضمن النطاق الذي تم إنشاؤه فيه

🏆 أفضل الممارسات مع const

  1. استخدم أسماء كبيرة: للأعداد الثابتة التي تمثل قيماً رقمية
const MAX_WIDTH = 1200;
const MIN_AGE = 18;
  1. استخدم const كخيار افتراضي: إلا إذا كنت تحتاج حقاً إلى تغيير القيمة لاحقاً
// استخدم const كخيارك الأول
const userName = "سارة";
const isLoggedIn = true;

// استخدم let فقط عندما تحتاج للتغيير
let attempts = 0;
attempts = attempts + 1;

🧪 تمارين عملية

التمرين 1: أنشئ متغيرات const للبيانات الثابتة في تطبيقك

const SITE_TITLE = "مدونتي الشخصية";
const CURRENT_YEAR = 2024;
const SUPPORT_EMAIL = "support@example.com";

التمرين 2: حاول تعديل متغير const وشاهد الخطأ

const birthYear = 1990;
birthYear = 2000; // جرب هذا وشاهد الرسالة الخطأ

🎉 خلاصة الدرس

  • يجب تهيئة متغير const بقيمة عند إنشائه
  • const له نطاق block scope مثل let
  • يمكن تعديل محتويات الكائنات والمصفوفات المعرفة بـ const
  • يُفضل استخدام const كخيار افتراضي للمتغيرات