JavaScript – کلمه کلیدی Let (Let)
تعریف let
کلیدواژه let
در ES6 (2015) معرفی شد و دارای ویژگیهای خاصی است که آن را از var
متمایز میکند. در اینجا به بررسی ویژگیها و نحوه استفاده از let
میپردازیم.
ویژگیهای let
دارای محدوده بلوکی (Block Scope): متغیرهای تعریفشده با let
فقط در بلوکی که تعریف شدهاند (داخل { }
) قابل دسترسی هستند. این به معنای عدم دسترسی به متغیر خارج از این بلوک است.
{
let x = 2;
}
// x قابل دسترسی در اینجا نیست
عدم امکان بازتعریف متغیر در یک محدوده یکسان: متغیرهایی که با let
تعریف میشوند نمیتوانند در همان محدوده مجدداً تعریف شوند. این باعث میشود که بهطور تصادفی متغیرها بازتعریف نشده و کد تمیزتر و قابل اطمینانتری داشته باشید.
let x = "John Doe";
let x = 0; // خطا: نمیتوان x را مجدداً تعریف کرد
پشتیبانی از محدوده بلوکی برای جلوگیری از تداخل متغیرها: بازتعریف یک متغیر let
در بلوکهای متفاوت امکانپذیر است، که این ویژگی به شما کمک میکند متغیرهای محلی بدون تداخل با متغیرهای خارج از بلوک داشته باشید.
let x = 10;
{
let x = 2;
// اینجا x مقدار 2 دارد
}
// در اینجا x مقدار 10 دارد
تفاوتهای بین var، let و const
ویژگی | var | let | const |
---|
محدوده | Global یا Function | Block | Block |
بازتعریف | بله | خیر | خیر |
تخصیص مجدد | بله | بله | خیر |
هویدا شدن | بله | خیر | خیر |
متصل به this | بله | خیر | خیر |
مزایای استفاده از let و const
- دارای محدوده بلوکی است که از تداخل متغیرها جلوگیری میکند.
- قبل از استفاده باید تعریف شوند.
- با
this
اتصال ندارد و برای برنامهنویسی امنتر است.
مشکل استفاده از var
متغیرهای تعریفشده با var
هویدا هستند و میتوانند قبل از تعریف استفاده شوند که ممکن است منجر به خطاهای غیرمنتظره شود.
carName = "Volvo";
var carName;
// این کار میکند زیرا var هویدا است.
استفاده از var
باعث میشود متغیر در سطح گستردهتر (Global یا Function) تعریف شود که ممکن است در پروژههای بزرگ به تداخل متغیرها منجر شود.
پشتیبانی مرورگرها
let
و const
در نسخههای قدیمیتر Internet Explorer (نسخه 11 و قبل از آن) پشتیبانی نمیشوند. اما در مرورگرهای جدیدتر پشتیبانی کامل دارند:
مرورگر | Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
نسخه پشتیبانی | 49 | 12 | 36 | 11 | 36 |
var x = 2; // تعریف شده با var و مجاز است.
let y = 3; // تعریف شده با let و مجاز است.
{
let y = 4; // مجاز است زیرا در یک بلوک جدید تعریف شده است.
}
y = 5; // تخصیص مجدد برای y مجاز است.
const z = 6; // تعریف شده با const و مقدار اولیه ثابت است.
let
و const
گزینههای بهتری در پروژههای مدرن هستند و به مدیریت محدوده و جلوگیری از خطاهای ناخواسته کمک میکنند.
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام