«var: تعریف و اسکوپ» در جاوااسکریپت - آزمون آنلاین برنامه نویسی
با شرکت در این کوییز، هم میتونی مهارتت رو محک بزنی و همزمان با سوالات متنوع، اطلاعاتت رو درباره این موضوع تکمیل کنی.

var و قوانین عجیبش!
میدونی که var یکی از قدیمیترین روشها برای تعریف متغیرها در جاوااسکریپته و شناخت دقیقش برای هر توسعهدهندهای واجبه.
این کلمه کلیدی، ویژگیهای خاصی داره که ممکنه گاهی اوقات کدنویسی رو کمی گیجکننده کنه. برای همین، این آزمون رو ساختم تا با نمونههای واقعی، نکات ریز و مهم اون رو بررسی کنیم.
این آزمون به تو کمک میکنه تا بدونی چطور var در شرایط مختلف رفتار میکنه، مثلاً در مورد Hoisting یا بالا کشیدن متغیرها یا اینکه چطور در اسکوپهای سراسری و تابعی عمل میکنه.
سوالات این آزمون در مورد var هستند و مثالهایش شامل این مواردند:
- مقدار یک متغیر تعریف شده با var در خارج از تابع چیست؟
- چطور var در داخل یک حلقه for رفتار میکند؟
- وقتی یک متغیر با var تعریف میشه، چطور میتونی اونو دوباره تعریف کنی؟
با شرکت توی این آزمون میتونی بفهمی که چطور var متغیرها رو به صورت سراسری تعریف میکنه، چطور بهشون مقدار میدی و تفاوتش با let و const چیه. با حل سوالات، یاد میگیری که چه زمانی از var استفاده کنی و در چه مواردی بهتره سراغ بقیه گزینهها بری.
این آزمون با تلاش تیم طراحی آزمونهای تخصصی سایت پاموه آماده شده و تمام سوالاتش بر اساس استانداردهای روز برنامهنویسی طراحی شده تا مطمئن بشی اطلاعات درستی به دست میآوری.
مهمترین نکات درباره var
همونطور که گفتم، var یک سری ویژگیهای خاص داره که برای هر برنامهنویسی لازمه اونها رو بدونه. یکی از مهمترین نکاتش، رفتار در مورد اسکوپ هست.
متغیرهایی که با var تعریف میشن، اسکوپ تابعی دارن، نه بلوکی. این یعنی اگه یه متغیر رو داخل یه بلاک if یا یک حلقه for تعریف کنی، اون متغیر باز هم در کل تابع در دسترس خواهد بود. یک مثال رو ببین:
function exampleScope() {
if (true) {
var x = 10;
}
console.log(x); // اینجا x قابل دسترسه و مقدار 10 رو نشون میده
}
این رفتار کاملاً با let و const فرق میکنه که اسکوپ بلوکی دارن.
موارد استفاده و تفاوتهای کلیدی
شاید بپرسی الان که let و const داریم، چرا باید از var استفاده کنیم؟ واقعیتش اینه که در کدهای جدید و مدرن کمتر از var استفاده میشه.
اما در پروژههای قدیمیتر، هنوز هم var رو میبینی. دونستن نحوه کارکردش برای خواندن و دیباگ کردن این کدها ضروریه. در جدول زیر، تفاوتهای کلیدی var با let و const رو خلاصه کردم تا بهتر متوجه بشی:
| ویژگی | var | let | const |
|---|---|---|---|
| اسکوپ | تابعی | بلوکی | بلوکی |
| Hoisting (بالا کشیدن) | دارد (با مقدار undefined) | دارد (اما به متغیر دسترسی نداری) | دارد (اما به متغیر دسترسی نداری) |
| تعریف مجدد | بله، امکانپذیر است | خیر | خیر |
| مقداردهی مجدد | بله، امکانپذیر است | بله، امکانپذیر است | خیر |
حالا که اطلاعات خوبی درباره var پیدا کردی، وقتشه که دانشت رو با سوالات این آزمون محک بزنی و به سطح بالاتری از تسلط برسی.
آمادهای؟ روی دکمه شروع کلیک کن تا این آزمون جذاب در مورد var و قوانینش رو شروع کنیم و ببینی که چقدر به جاوااسکریپت مسلطی.