سوال خود را بپرسید

توضیحات بخش

rss
سوال و جواب برای متخصصان و علاقه مندان به برنامه نویسی در همه زبان ها و همه پلت فرم ها

آمار بخش

کاربران 30
سوال ها 71
پاسخ ها 83
نظر سنجی ها 0

برترین کاربر ها

بیشترین تگ ها

2

فرق بین let و var در javascript چیست؟

در سورس کدهای قدیمی Javascript، برای تعریف متغیر از var استفاده شده است ولی در بعضی از کدهای جدید از کلمه let برای تعریف متغیر استفاده می شود.
آیا این دو با هم فرقی دارند؟ اگر تفاوت دارند کدامیک بهتر هست؟

var x = 1; // old
let y = 2; // new

پاسخ به سوال
667بازدید

پاسخ ها (1)

2
بله. این دو با هم متفاوت هستند و در برنامه نویسی مدرن بیشتر از let استفاده می شود.
طبق گفته سایت javascript.info یکی از اصلی ترین مشکلات در زمان استفاده از var، محدوده ای است که این متغیر معتبر می باشد.

“var” has no block scope
Variables, declared with var, are either function-wide or global. They are visible through blocks.

ولی این مشکل در هنگام استفاده از let به وجود نمی آید.
برای مثال قطعه کد زیر صحیح است :

if (true) {
var test = true; // use "var"
}
alert(test); // true, the variable lives after if

ولی قطعه کد زیر اشتباه می باشد :

if (true) {
let test = true; // use "let"
}
alert(test); // Error: test is not defined
پاسخ به سوال
تعداد حروف 0