### مفهوم `const` في لغة JavaScript
تعتبر الكلمة المفتاحية `const` واحدة من الكلمات المفتاحية المهمة في JavaScript لتعيين المتغيرات. تم تقديمها في الإصدار ES6 (أو ECMAScript 2015)، وهي تُستخدم لإعلان المتغيرات التي لا يمكن إعادة تعيين قيمها بعد تعريفها. بمعنى آخر، عندما تعلن عن متغير باستخدام `const`، فإنك تقيد تغييره، مما يضمن ثبات القيمة المرجعية للمتغير.
#### كيف تعمل `const`
عند استخدام `const`، يتم إنشاء متغير ذو نطاق كتلة (block-scoped)، مما يعني أن المتغير يكون مرئياً فقط داخل الكتلة التي تم تعريفه فيها، مثل الدالة أو الحلقة. هذا السلوك مشابه للكلمة المفتاحية `let`، التي تم تقديمها أيضاً في ES6.
#### خصائص `const`
1. **ثبات القيمة المرجعية**:
– لا يمكن إعادة تعيين المتغيرات المعرفة باستخدام `const`، ولكن يمكن [شركة برمجة مصرية] تعديل محتويات الكائنات أو المصفوفات التي تم تعيينها باستخدام `const`.
2. **نطاق الكتلة**:
– المتغيرات المعرفة باستخدام `const` تكون مرئية فقط ضمن الكتلة التي تم تعريفها فيها.
3. **ضرورة التهيئة**:
– يجب تهيئة المتغير عند تعريفه باستخدام `const`. لا يمكنك إعلان متغير بدون تعيين قيمة له.
#### أمثلة توضيحية
**مثال 1: استخدام `const` مع القيم البدائية**
const PI = 3.14159;
console.log(PI); // سيطبع 3.14159
// محاولة إعادة تعيين المتغير سيؤدي إلى خطأ
// PI = 3.14; // TypeError: Assignment to constant variable.
في هذا المثال، قمنا بتعيين قيمة للثابت `PI`. محاولة [شركة برمجة مصرية] إعادة تعيين قيمة مختلفة لـ `PI` ستؤدي إلى ظهور خطأ.
**مثال 2: استخدام `const` مع الكائنات**
const car = {
brand: 'Toyota',
model: 'Corolla'
};
console.log(car.brand); // سيطبع 'Toyota'
// يمكن تعديل خصائص الكائن
car.model = 'Camry';
console.log(car.model); // سيطبع 'Camry'
// لكن لا يمكن إعادة تعيين الكائن نفسه
// car = { brand: 'Honda', model: 'Civic' }; // TypeError: Assignment to constant variable.
في المثال أعلاه، يمكننا تعديل خصائص الكائن المسمى `car`، لكننا لا نستطيع إعادة تعيين الكائن نفسه.
**مثال 3: استخدام `const` مع المصفوفات**
const colors = ['red', 'green', 'blue'];
console.log(colors[0]); // سيطبع 'red'
// يمكن تعديل عناصر المصفوفة
colors[1] = 'yellow';
console.log(colors[1]); // سيطبع 'yellow'
// لكن لا يمكن إعادة تعيين المصفوفة نفسها
// colors = ['purple', 'orange']; // TypeError: Assignment to constant variable.
في هذا المثال، يمكننا تغيير محتويات المصفوفة `colors`، لكننا لا نستطيع إعادة تعيين المصفوفة نفسها إلى متغير `const` آخر.
### خلاصة
تُعد `const` خياراً ممتازاً عندما ترغب في ضمان عدم تغيير القيمة المرجعية للمتغير. إنها تمنحك القدرة على كتابة كود أكثر أماناً ووضوحاً، حيث يمكنك التأكد من أن المتغيرات المعلنة باستخدام `const` لن تتغير بشكل غير متوقع أثناء تنفيذ البرنامج. ومع ذلك، تذكر أن هذا لا يعني أن محتويات الكائنات أو المصفوفات محمية من التغيير، بل فقط أن المرجع نفسه لا يمكن إعادة تعيينه.
