جاوا اسکریپت، زبانی که به دلیل انعطاف پذیری اش شناخته شده است، سه راه متمایز برای اعلام متغیرها ارائه می دهد: var
، let
، و const
. هر کدام یک هدف منحصر به فرد را دنبال می کنند و درک تفاوت های آنها کلید نوشتن کد کارآمد و بدون اشکال است. بیایید به این کلمات کلیدی بپردازیم، تمایزات آنها را بررسی کنیم، بهترین شیوه ها را مورد بحث قرار دهیم، و افسانه ها و باورهای غلط رایج را از بین ببریم.
مبانی
var
: روش اصلی برای اعلام متغیرها در جاوا اسکریپت،var
در صورتی که خارج از یک تابع اعلان شود، دارای دامنه تابع یا سراسری است. متغیرهای اعلام شده باvar
در بالای محدوده خود قرار می گیرند، به این معنی که می توان آنها را قبل از اعلام آنها ارجاع داد.let
: معرفی شده در ES6،let
بلوک اسکوپ است و به همان روشی که بالا می رود بالا نمی رودvar
. این رفتار آن را قابل پیش بینی تر می کند.const
: همچنین در ES6 معرفی شده است،const
مانند بلوک اسکوپ استlet
، اما برای اعلان متغیرهایی که نباید دوباره تخصیص داده شوند استفاده می شود. با این حال،const
اگر متغیر مرجعی به یک شی داشته باشد، مقدار را تغییرناپذیر نمی کند.
بیایید با چند مثال به تفاوت ها نگاه کنیم:
دامنه
var
دارای محدوده عملکرد، در سراسر عملکرد قابل دسترسی است.let
وconst
دارای محدوده بلوکی هستند و فقط در بلوکی که در آن تعریف شده اند قابل دسترسی هستند.
مثال:
function scopeTest() {
if (true) {
var varVariable = 'I am a var';
let...