عرفان سلیمانی
عرفان سلیمانی
خواندن ۲ دقیقه·۳ سال پیش

تفاوت var و let و const در جاوا اسکریپت

تفاوت var و let و const در js
تفاوت var و let و const در js

سلام دوستان. من در این مقاله تفاوت var و let و const در js رو به صورت مختصر و مفید برای شما توضیح میدم. در ادامه با من همراه باشید.


var و let

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

var x = 5; function myFunction() { alert(x); }

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

حالا میخوایم یک متغیر محلی با var ایجاد کنیم. کد زیر رو ببینید.

function myFunction() { var name = &quoterfan&quot }

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

نکته مهم اینجاست که اگر با 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 تعریف می‌شوند، فقط یک بار می‌توان به آنها مقدار داد. کد زیر رو ببینید.

const number = 5; number = 3;

وقتی کد بالا رو خروجی بگیریم خطا میده. چون number قبلا مقداردهی شده و وقتی دوباره بخوایم بهش مقدار بدیم با خطا مواجه میشویم. اینم از const.


جمع بندی:

  • متغیرهای var یا سراسری هستند یا محلی، ولی متغیرهای let و const دارای حوزه بلاکی هم هستند، یعنی متغیرهایی که در بلاک تعریف می‌شوند جدا هستند.
  • به متغیرهای const فقط یک بار می‌توانیم مقدار بدیم.
  • از هر نوع متغیر باید در جای مخصوص خودش استفاده شود، مثلا وقتی میخواهیم یک عدد در برناممون همیشه ثابت باشه باید اون متغیر رو با const تعریف کنیم.



فرق var و let در جاوا اسکریپتفرق var let const در jsتفاوت var و let در jsتفاوت let و const در جاوا اسکریپتتفاوت var let const
شاید از این پست‌ها خوشتان بیاید