في هذا الدرس 6تصفّح المواضيع
في التطبيقات العملية لا ينبغي لكثير من القيم المسماة أن تتبدل بعد إنشائها، مثل نسبة الضريبة أو الحد الأقصى لحجم الملف أو رابط الخدمة الأساسي. لذلك قدم معيار ES6 الكلمة المحجوزة const لإنشاء روابط ثابتة غير قابلة لإعادة الإسناد.
يمنح استخدام const ضمانة فورية للمحرك ولفريق العمل معاً: بمجرد ربط هذا الاسم بقيمته، لن يُسمح بتغيير إسناده إلى قيمة أخرى طوال عمر نطاقه.
بخلاف var، يشترط التصريح بالكلمة const إسناد القيمة الابتدائية فوراً في التعليمة نفسها دون تأجيل؛ فكتابة const MAX_SEATS; بلا قيمة تسبب خطأ صياغة فورياً SyntaxError يمنع تشغيل السكربت من الأساس.
const VAT_RATE = 0.15;
const itemPrice = 200;
const finalPrice = itemPrice + (itemPrice * VAT_RATE);
document.getElementById('const-out').textContent =
'Final Total: ' + finalPrice + ' SAR';
إذا حاول أي سطر لاحق الكتابة فوق الثابت عبر معامل التعيين مثل VAT_RATE = 0.05; يوقف المحرك العملية في الحال برسالة TypeError: Assignment to constant variable؛ وهو ما يحمي المعادلات المالية والإعدادات الحساسة من التغيير غير المقصود.
تشكل كل فتحة وإغلاق للأقواس المعقوفة { ... } كتلة برمجية مستقلة (Block). وبخلاف var تتمتع ثوابت const بنطاق كتلي معزول؛ إذ تولد داخل حدود الكتلة وتنتهي بانتهاء القوس } دون أن تتسرب للخارج أو تلوث الكائن window.
const badgeText = 'Global Plan';
{
const badgeText = 'Promo Block Plan';
console.log(badgeText);
}
document.getElementById('scope-out').textContent = badgeText;
تعتمد المشاريع الاحترافية في JavaScript أسلوبين واضحين لتسمية ثوابت const تبعاً لطبيعة القيمة المخزنة:
| طبيعة الثابت البرمجي | أسلوب التسمية القياسي | أمثلة تطبيقية واضحة |
|---|---|---|
| الإعدادات الثابتة المعروفة مسبقاً | أحرف كبيرة بشرطة سفلية UPPER_SNAKE_CASE | const MAX_RETRIES = 3;، const VAT_RATE = 0.15; |
| النتائج المحسوبة وعناصر الصفحة | أسلوب الجمل camelCase | const netTotal = price * qty;، const boxEl = document.getElementById("b"); |
تجمع أدلة البرمجة القياسية الحديثة على قاعدة عملية بسيطة: ابدأ دائماً باستخدام const خياراً افتراضياً لكل قيمة جديدة تعرفها؛ فعندما تقسم المعادلة إلى خطوات ثابتة متدرجة مثل subtotal ثم taxAmount ثم grandTotal يصبح تتبع الكود أوضح وأخلى من المفاجآت.
أما القيم التي تحتاج فعلياً إلى تحديث متكرر كالعدادات، فلها أداة حديثة مخصصة سنتقنها في الدرس التالي مباشرةً.
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس إنشاء الروابط الثابتة عبر const، وقاعدة التهيئة الفورية الإلزامية، والحماية من إعادة الإسناد عبر TypeError، وعزل النطاق الكتلي داخل { ... }، وأعراف التسمية القياسية. الخطوة التالية: انتقل الآن إلى درس «المتغيرات بالكلمة المحجوزة let في JavaScript» لتعريف المتغيرات الحديثة القابلة للتحديث بأمان.
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.
المصطلحات4
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 const Binding الرابط الثابت const
- معرف ذو نطاق كتلي يُهيأ بقيمة فور التصريح عنه ولا يُسمح بإعادة إسناد قيمة جديدة إليه لاحقاً.
- للمراجعة
- 02 Block Scope النطاق الكتلي Block Scope
- حصر وجود المتغير أو الثابت وإمكانية قراءته داخل حدود الأقواس المعقوفة { ... } التي عُرّف بداخلها فقط.
- للمراجعة
- 03 TypeError خطأ النوع TypeError
- خطأ وقت التشغيل يطلقه المحرك عند تنفيذ عملية غير مسموحة على القيمة مثل محاولة إعادة إسناد ثابت const.
- للمراجعة
- 04 UPPER_SNAKE_CASE التسمية الكبيرة UPPER_SNAKE_CASE
- أسلوب تسمية بأحرف إنجليزية كبيرة تفصل بينها شرطة سفلية يُعتمد للثوابت الرقمية والإعدادات المعروفة مسبقاً.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
الاختصارات2
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 ES6 ES6
- ECMAScript 2015 (6th Edition)
- التحديث الجوهري لمعيار JavaScript عام 2015 الذي قدم الكلمة const والنطاق الكتلي للغة.
- للمراجعة
- 02 JIT JIT
- Just-In-Time Compilation
- تقنية الترجمة الفورية داخل محركات المتصفحات لتسريع تنفيذ المقاطع البرمجية المتكررة.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
مهامك قبل الاختبار
خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.
-
اختر التبويب الثاني في محاكي الثوابت لملاحظة إطلاق TypeError فور محاولة تغيير قيمة الثابت PORT.
-
افتح مثال حساب الضريبة بـ const في محرر التجربة وعدّل itemPrice إلى 400 للتحقق من تحديث الإجمالي النهائي.
تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.
اختبر فهمك.
ووصلها للإتقان.
كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.
أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.
الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.