سلام دوستان. چرا وقتی میخوایم متغیر توی js تعریف کنیم باید از let یا var استفاده کنیم؟ در صورتی که میشه ازشون استفاده نکرد
let hello = 'salam';
console.log(hello); //salam
hello2 = 'salam';
console.log(hello2); //salam
سلام، وقتی شما از عبارت های 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
به جمع هزاران کاربر اینستاگرامی روکسو بپیوندید.