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

سلام دوستان. چرا وقتی می‌خوایم متغیر توی js تعریف  کنیم باید از let یا var استفاده کنیم؟ در صورتی که میشه ازشون استفاده نکرد

let hello = 'salam';
console.log(hello); //salam
hello2 = 'salam'; 
console.log(hello2); //salam
برچسب ها:
پرسیده شده در: 4 ماه قبل
آمار بازدید: 203
دارای ۲۰۰ کارما دارای ۲۰۰ کارما دارای 500 کارما دارای 500 کارما
1

سلام، وقتی شما از عبارت های let یا var استفاده نمی کنید در واقع به شیء یا Object گلوبال دسترسی دارد و این موارد جزئی از اون آبجکت شناخته میشوند. اما بد نیست همینجا تفاوت بین let و var رو هم مطرح کنیم:

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

وقتی یک متغییری با دستور let ساخته می شود، آن متغییر درون یک بلوک قابل استفاده است و خارج از آن معنی پیدا نمی کند. این در حالیست که اگر یک متغییر با ساختار var تعریف شود، در خارج از بلوک هم قابل دسترسی است. به مثال زیر توجه کنید:

var globalVariable = 42;
let blockScopedVariable = 43;

console.log(globalVariable); // 42
console.log(blockScopedVariable); // 43

console.log(this.globalVariable); // 42
console.log(this.blockScopedVariable); // undefined

دقت داشته باشید که اگر یک متغییر چه از نوع var و چه از نوع let داخل یک فانکشن استفاده شود در خارج از آن در دسترس نیست:

{
  var globalVariable = 42;
  let blockScopedVariable = 43;
  console.log(globalVariable); // 42
  console.log(blockScopedVariable); // 43
}

console.log(globalVariable); // 42
console.log(blockScopedVariable); // ReferenceError: blockScopedVariable is not defined
ارسال شده در: 4 ماه قبل
masoudsalehi (1601)
بیش از ۲ سال عضویت در روکسو بیش از ۲ سال عضویت در روکسو دارای 1000 کارما دارای 1000 کارما نظرات دریافتی:‌ بیش از 50 نظرات دریافتی:‌ بیش از 50 دارای 10 پاسخ صحیح دارای 10 پاسخ صحیح ارسال کننده پاسخ با 25 رای ارسال کننده پاسخ با 25 رای
جهت ارسال پاسخ ابتدا عضو سایت شوید.
اینستاگرام روکسو

روکسو در اینستاگرام

به جمع هزاران کاربر اینستاگرامی روکسو بپیوندید.