تفاوت بین let، const و var در جاوا اسکریپت.
Summarize this content to 400 words in Persian Lang درک let، const و var در جاوا اسکریپت
در جاوا اسکریپت، اعلان متغیر با معرفی ES6 (ECMAScript 2015) تکامل یافته است. بیایید تفاوتهای کلیدی بین var، let، و const و اینکه محدودهبندی چگونه نقش بازی میکند را بشکافیم.
1. بود
محدوده: تابع محدوده
متغیرهای اعلام شده با var به تابعی که در آن تعریف شده اند، محدوده می شوند. اگر خارج از یک تابع اعلان شود، به صورت سراسری در نظر گرفته می شوند.
بالا بردن:
اعلانهای var در بالای محدوده خود قرار میگیرند، به این معنی که میتوان قبل از اعلام آنها به آنها دسترسی داشت (اگرچه تا زمان تخصیص تعریف نشده خواهند بود).
console.log(a); // undefined
var a = 10;
console.log(a); // 10
2. اجازه دهید
محدوده: محدوده بلوکی
let محدود به بلوکی است که در آن تعریف شده است (مثلاً در داخل {} براکت حلقه ها یا شرطی ها).
بالا بردن:
let نیز بالا می رود، اما دسترسی به آن قبل از اعلام منجر به خطای مرجع (Temporal Dead Zone) می شود.
`
{
اجازه دهید b = 20;
console.log(b); // 20
}
console.log(b); // ReferenceError: b تعریف نشده است
`
3. Const
محدوده: محدوده بلوکی
مانند let، const محدود به بلوکی است که در آن تعریف شده است.
تغییر ناپذیری:
اعلانهای const باید در زمان اعلان مقداردهی اولیه شوند و نمیتوان آنها را دوباره تخصیص داد. با این حال، اگر متغیر یک شی یا آرایه را در خود جای دهد، محتویات همچنان قابل تغییر هستند.
`
const c = 30;
c = 40; // TypeError: انتساب به متغیر ثابت.`
const obj = { key: 'value' };
obj.key = 'newValue'; // این مجاز است.
console.log(obj.key); // 'newValue'
خلاصه
زمانی که به محدوده عملکرد نیاز دارید و با پایگاه های کد قدیمی کار می کنید از var استفاده کنید.
از let برای متغیرهایی که ممکن است تغییر کنند، به خصوص در حلقه ها یا بلوک های شرطی استفاده کنید.
از const برای متغیرهایی که باید ثابت بمانند استفاده کنید و در صورت امکان تغییر ناپذیری را ارتقا دهید.
نتیجه گیری
از let and const برای توسعه جاوا اسکریپت مدرن برای افزایش خوانایی و قابلیت نگهداری استفاده کنید. درک قوانین محدوده برای نوشتن کد موثر و بدون اشکال بسیار مهم است!
درک let، const و var در جاوا اسکریپت
در جاوا اسکریپت، اعلان متغیر با معرفی ES6 (ECMAScript 2015) تکامل یافته است. بیایید تفاوتهای کلیدی بین var، let، و const و اینکه محدودهبندی چگونه نقش بازی میکند را بشکافیم.
1. بود
محدوده: تابع محدوده
متغیرهای اعلام شده با var به تابعی که در آن تعریف شده اند، محدوده می شوند. اگر خارج از یک تابع اعلان شود، به صورت سراسری در نظر گرفته می شوند.
بالا بردن:
اعلانهای var در بالای محدوده خود قرار میگیرند، به این معنی که میتوان قبل از اعلام آنها به آنها دسترسی داشت (اگرچه تا زمان تخصیص تعریف نشده خواهند بود).
console.log(a); // undefined
var a = 10;
console.log(a); // 10
2. اجازه دهید
محدوده: محدوده بلوکی
let محدود به بلوکی است که در آن تعریف شده است (مثلاً در داخل {} براکت حلقه ها یا شرطی ها).
بالا بردن:
let نیز بالا می رود، اما دسترسی به آن قبل از اعلام منجر به خطای مرجع (Temporal Dead Zone) می شود.
`
{
اجازه دهید b = 20;
console.log(b); // 20
}
console.log(b); // ReferenceError: b تعریف نشده است
`
3. Const
محدوده: محدوده بلوکی
مانند let، const محدود به بلوکی است که در آن تعریف شده است.
تغییر ناپذیری:
اعلانهای const باید در زمان اعلان مقداردهی اولیه شوند و نمیتوان آنها را دوباره تخصیص داد. با این حال، اگر متغیر یک شی یا آرایه را در خود جای دهد، محتویات همچنان قابل تغییر هستند.
`
const c = 30;
c = 40; // TypeError: انتساب به متغیر ثابت.`
const obj = { key: 'value' };
obj.key = 'newValue'; // این مجاز است.
console.log(obj.key); // 'newValue'
خلاصه
- زمانی که به محدوده عملکرد نیاز دارید و با پایگاه های کد قدیمی کار می کنید از var استفاده کنید.
- از let برای متغیرهایی که ممکن است تغییر کنند، به خصوص در حلقه ها یا بلوک های شرطی استفاده کنید.
- از const برای متغیرهایی که باید ثابت بمانند استفاده کنید و در صورت امکان تغییر ناپذیری را ارتقا دهید.
نتیجه گیری
از let and const برای توسعه جاوا اسکریپت مدرن برای افزایش خوانایی و قابلیت نگهداری استفاده کنید. درک قوانین محدوده برای نوشتن کد موثر و بدون اشکال بسیار مهم است!