الثوابت (Constants)

ما هي الثوابت (constants) ؟

الثوابت تُشبه المتغيرات واستخداماتها، لكن من إسمها يبدوا أنها عكس المتغيرات، فالمتغيرات تتغير! أما الثوابت ثابتة ﻻ تتغير وهنا تكمن أهميتها.

في أحيان كثيرة، نحتاج لتخزين قيمة لن نقوم بتغييرها لاحقاً في البرنامج، في هذه الحالة يفضل استخدام الثوابت، فبإنشاءك ثابت أنت تخبر المفسّر أن هذه القيمة المخزنة لن تتغير، هي ثابتة، ولهذا الكثير من الفوائد، وهو اﻷفضل، فمثلاً لدينا برنامج نقوم فيه بتحويل المبلغ من عملة لعملة أخرى، مثلاً من دولار إلى جنيه مصري، هنا ستستخدم في البرنامج الخاص بك مقدار سعر الدولار، مثلاً سعر الدولار 15، إذن ستقوم بتخزينه في متغير لنفرض اسمه rate، لكن تساءل... هل هذا المتغير سستغير قيمته في برنامجك؟ يعني هل أثناء عمل البرنامج، ستقوم بتغيير قيمة سعر الدولار؟ بالتأكيد لأ! السعر ثابت أثناء عمل البرنامج، لن تكتب سطر مثلاً يقوم بتغيير قيمته rate = 14 لن يحدث، إذا تغير سعر الدولار فتقوم بتغييره في سطر إنشاء المتغير، لكن أثناء عمل البرنامج بالتأكيد لن يتغير السعر! وكذلك مثلاً في برنامج يقوم بحساب قيمة الضرائب، فقيمة الضرائب مثلاً 10%، هذه القيمة تقوم بتخزينها مرة واحدة فقط ولن تحتاج لتغييرها أثناء عمل البرنامج

استخدامات الثوابت

تُستخدم الثوابت لتخزين قيمة معينة، مما يسمح لك بإعادة استخدامها عدة مرات في البرنامج الخاص بك.

طريقة كتابة الثوابت

تختلف من لغة لأخرى، وفي لغة جافاسكريبت نستخدم const بدلاً من var

const rate = 15.6;

console.log(rate*10);
ناتج التشغيل 156

const هي اختصار لكلمة constant وتعنى ثابت

يُفضل دائماً مع الثوابت أن يتكون اسمها من الحروف الكبيرة، مثلاً NAME... هذا أسلوب متبع في كل لغات البرمجة، ومن كل المجتمعات البرمجية، ويفضل دائما اتباعه لكتابة كود منسق قابل للقراءة بسهولة، أنت لست مجبراً على اتباع هذا اﻷسلوب لكن تذكر دائماً قاعدة: اتبع الطريقة اﻷفضل

الثوابت لا تتغير

لا يمكنك تغيير قيمة الثابت، أو إعادة تعريفه مرة أخرى! ﻷن المفسر سيُعطي خطأ.

const rate = 15.6;
rate = 10;
ناتج التشغيل Assignment to constant variable.
> ويعني الخطأ أنك تحاول إرفاق قيمة أخرى لمتغير ثابت.
const rate = 15.6;
const rate = 10;
ناتج التشغيل Identifier 'rate' has already been declared
> ويعني الخطأ أن المتغير الثابت `rate` تم تعريفه سابقاً بالفعل!

لماذا نستخدم الثوابت؟

ربما تتساءل أنك يمكنك أن تستخدم المتغيرات وتتجاهل الثوابت، ستؤدي المتغيرات نفس المهمة، فلماذا نستخدم الثوابت؟

أولاً: في البرمجة ستجد الكثير من الحلول لمشكلة واحدة، والكثير من الطرق واﻷساليب لتنفيذ نفس المهمة، ولكن دائما احرص على أن تتبع اﻷفضل واﻷنسب

  • سرعة أكبر: فعندما تخبر المفسّر أن هذه القيمة ثابتة لن تتغير فإنه يخزنها بشكل معين أبسط ويجعل التعامل معه أسرع من المتغير
  • أقل عرضة للأخطاء: فأنت ستضمن أن قيمة هذا المتغير لن تتغير بالخطأ في باقي الكود، ﻷنه إذا كتبت بالخطأ كود يقوم بتغيير قيمة الثابت فإن المفسّر سيُعطي خطأ ويخبرك أن هذا ثابت لا يمكن تغيير قيمته.
  • أكثر قابلية للقراءة

المساهمين

وجدت خطأ أو تريد المساهمة في محتوى الدرس؟ عدل الصفحة على Github