JavaScript

JavaScript — کلمه ی کلیدی let در جاوااسکریپت (JS Let)

آخرین بروزرسانی: 1404/07/21

کلمه ی کلیدی let در جاوااسکریپت

در جاوااسکریپت (JavaScript)، let برای تعریف متغیر (Variable) با Block Scope استفاده می شود. این کلمه کلیدی از ES6 معرفی شد و استفاده از آن باعث جلوگیری از Redeclare و دسترسی ناخواسته متغیرها می شود.

Block Scope

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

مثال

{ 
  let x = 2;
}
// x نمی تواند اینجا استفاده شود

Global Scope با var

متغیرهای تعریف شده با var همیشه دارای Global Scope هستند و بلوک آنها تاثیری ندارد.

{ 
  var x = 2; 
}
// x می تواند اینجا استفاده شود

عدم Redeclare با let

متغیرهای تعریف شده با let نمی توانند دوباره در همان بلوک تعریف شوند.

let x = "John Doe";
let x = 0; // خطا

Redeclaring در بلوک های مختلف

با let می توان متغیر را در بلوک های مختلف دوباره تعریف کرد بدون تاثیر روی بلوک اصلی.

let x = 2;
{
  let x = 3; // مجاز
}
{
  let x = 4; // مجاز
}

Hoisting با let و var

var قبل از تعریف قابل استفاده است، اما let باعث ReferenceError می شود.

carName = "Volvo";
var carName; // صحیح

carName = "Saab";
let carName = "Volvo"; // خطا

تفاوت var، let و const

ScopeRedeclareReassignHoistedBinds this
varخیربلهبلهبلهبله
letبلهخیربلهخیرخیر
constبلهخیرخیرخیرخیر

برای اطلاعات بیشتر به Hoisting مراجعه کنید.