26 مرداد 1402

راهنمای کامل استفاده از ثابت ها در جاوا اسکریپت

“تنها چیزی که ثابت است تغییر است” چیزی است که ممکن است قبلا شنیده باشید. با این حال، برخی چیزها واقعاً یکسان هستند.

ثابت های جاوا اسکریپت که با اعداد بلوک نشان داده می شوند

چیزهایی مانند سرعت نور (299792458 متر در ثانیه)، ثابت دایره پی (~3.14)، یا نسبت طلایی (1.61803) همگی نمونه هایی از ثابت های ریاضی هستند. آنها در زندگی روزمره حضور دارند، چه بدانی چه ندانی. در جاوا اسکریپت هم همینطور است.

در این مقاله، با نوع داده const در جاوا اسکریپت آشنا خواهید شد و چند مثال اساسی و ابهام را مرور خواهید کرد.

ثابت ها در جاوا اسکریپت چیست؟

ممکن است کاملاً واضح باشد، اما صرفاً برای اینکه کاملاً واضح باشد، const در جاوا اسکریپت مخفف «constant» است. به طور خلاصه، const متغیری است که پس از اعلان قابل تغییر نیست.

به اندازه کافی ساده به نظر می رسد، درست است؟ در مقایسه با متغیرهای معمولی، چند نکته در مورد ثابت ها وجود دارد. به زودی با آنها آشنا خواهید شد. بیایید آن را در عمل ببینیم.

نحوه استفاده از Constants در جاوا اسکریپت

در زیر، نحو اصلی برای اعلام یک ثابت در جاوا اسکریپت را مشاهده خواهید کرد. ارزش لزوماً نباید یک عدد باشد. تقریباً می تواند هر چیزی باشد که شما می خواهید. فقط به یاد داشته باشید، وقتی تعریف شد، نمی توان آن را تغییر داد.

const pi = 3.14; // const name = مقدار

console.log(pi); // 3.14

حال، اگر بخواهید این متغیر pi تازه ایجاد شده را تغییر دهید ، کنسول بر سر شما فریاد می زند که نمی تواند این کار را انجام دهد. نمونه ای از این اتفاق را در زیر ببینید.

تلاش برای تغییر یک ثابت جاوا اسکریپت موجود و دریافت TypeError

منطقی است، درست است؟ اگر بتوانید این را تغییر دهید، دیگر ثابت نخواهد بود و در عوض مانند هر متغیر قدیمی معمولی خواهد بود.

متفاوت از متغیرهای معمولی، نمی‌توانید یک ثابت را بدون دادن مقداری به آن در بیانیه اعلام کنید. دوباره، بیایید نمونه‌ای ببینیم که اگر دقیقاً این کار را انجام دهید چه اتفاقی می‌افتد.

تلاش برای اعلام یک ثابت بدون مقدار و گرفتن SyntaxError

قبل از حرکت، یک چیز دیگر وجود دارد که باید از آن آگاه باشید. یادتان هست که گفتم می توانید هر مقداری را در متغیر const ذخیره کنید ؟ خوب، این شامل اشیا نیز می شود، و اشیا قابل تغییر هستند، به این معنی که می توان آنها را تغییر داد.

با دانستن این موضوع، فکر می‌کنید چه اتفاقی می‌افتد اگر یک شی را در یک const ذخیره کنید و سپس سعی کنید آن شی را بازنویسی کنید؟

ذخیره یک شی در یک متغیر const و سپس تلاش برای بازنویسی آن

به نظر می رسد، شما نمی توانید این کار را انجام دهید، وگرنه با همان نوع TypeError مواجه خواهید شد که قبلا اتفاق افتاده بود. این همان چیزی است که انتظار دارید اتفاق بیفتد، زیرا بدانید که قرار نیست ثابت ها تغییر کنند. با این حال، فکر می‌کنید اگر بخواهیم مقداری را در خود شی تغییر دهیم، چه اتفاقی می‌افتد؟

const someObject = { someKey : “someValue” };

someObject.someKey = “otherValue”;

console.log(some.Object);

اوه اوه به نظر می رسد که می توانید مقادیر را در خود شیء تغییر دهید، حتی پس از اختصاص دادن آن به یک متغیر const . برای جلوگیری از این امر، می توانید از متد Object.freeze() بعد از ایجاد آن روی شی استفاده کنید.

const someObject = { someKey : “someValue” };

Object.freeze(someObject);

someObject.someKey = “otherValue”;

console.log(some.Object);

همانطور که می بینید، شیء پس از تلاش برای تغییر آن یک بار ثابت ماند. این احتمالاً بهترین راه برای اطمینان از ثابت ماندن آن است.

حتی می توانید آن را اعلام کنید، آن را ثابت کنید، و آن را در یک متغیر const در یک خط ذخیره کنید. این تضمین می کند که واضح است که شی هرگز قرار نیست تغییر کند.

const someObject = Object.freeze({ someKey: “someValue”});

این خوب و جمع و جور است! شایان ذکر است که همه اینها در مورد آرایه ها نیز صدق می کند. آنها فقط نوع دیگری از شی هستند، بنابراین حتی متد Object.freeze () نیز با آن ها یکسان عمل می کند.

نمونه هایی از ثابت ها در جاوا اسکریپت

بیایید چند نمونه از ثابت ها را در کد ببینیم. تصور کنید شعاع یک دایره به شما داده شده است. آیا می توانید با استفاده از ثابت pi برای پیدا کردن محیط کد بنویسید؟

const pi = 3.14159;

بگذارید شعاع = 6;

// محیط دایره 2*pi*r است

اجازه دهید محیط = 2 * شعاع * پی.

console.log (دور);

این خیلی بد نبود، اینطور نیست؟ اندازه یک دایره اغلب می تواند تغییر کند، اما پی همیشه یک ثابت خواهد بود. بنابراین، استفاده از یک نوع داده const در اینجا منطقی است.

در اینجا یک مثال دیگر با استفاده از نام من است. همچنین نشان می‌دهد که می‌توانید از رشته‌ها در ثابت‌ها استفاده کنید، کاری که قبلاً در این مقاله انجام نداده‌ایم.

const myName = “Wynter”;

اگر (نام من === “جمی”) {

console.log (“سلام جیمی!”)؛}

دیگری {

console.log (“هی، تو جیمی نیستی”);

};

من پیشنهاد می‌کردم متغیر myName را در اینجا تغییر دهید، اما نمی‌توانیم این کار را با یک const انجام دهیم . استفاده از const در اینجا معنی ندارد زیرا نام ها اغلب قابل تغییر هستند، اما برای مثال با یک رشته کافی است.

شروع شدن

ثابت‌ها در جاوا اسکریپت، جدا از چند نکته عجیب در مورد اشیا، ساده هستند. شما در مورد نحو اولیه، چند خطای رایج و برخی جزئیات در مورد رفتار اشیاء در یک متغیر const یاد گرفتید . شما همچنین چند مثال اساسی را دیدید که واقعاً به این نکته توجه کنید که چگونه می توان از آنها در کد استفاده کرد.