سلام دوستان. من در این مقاله تفاوت var و let و const در js رو به صورت مختصر و مفید برای شما توضیح میدم. در ادامه با من همراه باشید.
متغیرهایی که با var ایجاد میشوند، میتوانند محلی یا سراسری باشند. مثلا متغیری که درون هیچ فانکشنی تعریف نشده باشد، در همه جای کد قابل دسترسی است. کد زیر رو ببینید.
var x = 5; function myFunction() { alert(x); }
در کد بالا یک متغیر سراسری ایجاد کردیم و داخل یک فانکشن به اون متغیر دسترسی پیدا کردیم. به این متغیر، متغیر سراسری میگویند.
حالا میخوایم یک متغیر محلی با var ایجاد کنیم. کد زیر رو ببینید.
function myFunction() { var name = "erfan" }
در کد بالا یک متغیر درون یک فانکشن ایجاد کردیم. این متغیر فقط درون این فانکشن قابل دسترسی هست. به این نوع متغیرها، متغیر داخلی میگویند.
نکته مهم اینجاست که اگر با var، یک متغیر تعریف کنیم و بعد داخل یک بلاک، یک متغیر دیگه با همون نام تعریف کنیم، متغیر اول از بین میره. کد زیر رو ببینید.
var y = 3; if (true) { var y = 5; } console.log(y);
در کد بالا خروجیِ console.log(y)، عدد 5 است. ولی اگر همین متغیرها رو با let تعریف کنیم داستان تغییر خواهد کرد. کد زیر رو ببینید.
let y = 3; if (true) { let y = 5; } console.log(y);
در کد بالا خروجیِ console.log(y) عدد 3 خواهد بود. و متغیر دوم فقط داخل همون بلاک قابل دسترسی هستش و هر متغیر جداست. اینم از تفاوت var و let. در ادامه const رو هم بررسی میکنیم. با من همراه باشید.
نکته: الان دیگه تقریباً var منسوخ شده و بهتر است که بجای var از let استفاده کنید.
متغیرهایی که با const تعریف میشوند، فقط یک بار میتوان به آنها مقدار داد. کد زیر رو ببینید.
const number = 5; number = 3;
وقتی کد بالا رو خروجی بگیریم خطا میده. چون number قبلا مقداردهی شده و وقتی دوباره بخوایم بهش مقدار بدیم با خطا مواجه میشویم. اینم از const.