
بررسی پاسخهای بخش ۴:
**پاسخ ۱:
- این سؤال نیاز به دقت بیشتری دارد. بیا مرحله به مرحله محاسبه کنیم:
let num = 7; // num++ : مقدار فعلی (7) استفاده میشود، سپس num به 8 افزایش مییابد // ++num : ابتدا num از 8 به 9 افزایش مییابد، سپس مقدار جدید (9) استفاده میشود // بنابراین: 7 + 9 = 16 - پاسخ صحیح: 16
**پاسخ ۲:
5 == "5"→true(مقادیر پس از تبدیل نوع برابرند)5 === "5"→false(مقادیر برابر ولی نوعها متفاوت)"" == false→true(رشته خالی و false هر دو falsy و پس از تبدیل نوع برابرند)0 == false→true(عدد صفر و false هر دو falsy و پس از تبدیل نوع برابرند)
**پاسخ ۳:
(a >= 18 && a <= 60)→ بررسی بازه ۱۸ تا ۶۰|| a === 16→ یا دقیقاً برابر ۱۶ باشد- استفاده از
===برای مقایسه دقیق
خلاصه نکات مهم:
-
تفاوت ++x و x++:
x++:let x = 5; let y = x++; // y = 5, x = 6++x:let x = 5; let y = ++x; // y = 6, x = 6
-
تفاوت و =:
- همیشه از
===استفاده کن مگر اینکه واقعاً نیاز به تبدیل نوع داشته باشی ==میتواند باعث خطاهای غیرمنتظره شود
- همیشه از
-
عملگرهای منطقی:
&&(AND): برای ترکیب چند شرط که همه باید true باشند||(OR): برای زمانی که حداقل یکی از شرطها true باشد!(NOT): برای معکوس کردن مقدار boolean
بخش ۵: کنترل جریان برنامه - تصمیمگیری در کد (مطابق متن اصلی)
۱. دستور if
برای اجرای کد در صورت true بودن شرط:
سینتکس:
if (condition) {
// کدی که اگر شرط true باشد اجرا میشود
}مثال از متن:
let age = 18;
if (age >= 18) {
console.log("شما بزرگسال هستید.");
}۲. دستور if…else
اگر شرط true باشد یک بلوک، در غیر این صورت بلوک دیگر اجرا میشود:
سینتکس:
if (condition) {
// اگر شرط true باشد
} else {
// اگر شرط false باشد
}مثال از متن:
let age_value = 22;
if (age_value >= 18) {
console.log("شما بزرگسال هستید.");
} else {
console.log("شما خردسال هستید.");
}۳. دستور else if
برای بررسی چندین شرط مختلف:
مثال از متن:
let temperature = 30;
if (temperature > 35) {
console.log("روز گرمی است!");
} else if (temperature > 25) {
console.log("روز معتدلی است.");
} else {
console.log("روز خنکی است.");
}۴. دستور switch
برای مقایسه یک متغیر با چندین مقدار ثابت:
سینتکس:
switch (expression) {
case value1:
// کد اگر expression === value1
break;
case value2:
// کد اگر expression === value2
break;
default:
// کد اگر هیچکدام از caseها مطابقت نکرد
}مثال از متن:
let fruit = "apple";
switch (fruit) {
case "banana":
console.log("میوه زرد");
break;
case "apple":
console.log("میوه قرمز یا سبز");
break;
case "orange":
console.log("میوه نارنجی");
break;
default:
console.log("میوه ناشناخته");
}
// خروجی: "میوه قرمز یا سبز"⚠️ هشدار مهم: فراموش نکنید break را بگذارید!
let color = "red";
switch (color) {
case "red":
console.log("توقف");
// break فراموش شده!
case "yellow":
console.log("احتیاط");
// break فراموش شده!
case "green":
console.log("حرکت");
}
// خروجی: "توقف", "احتیاط", "حرکت" (همه اجرا میشوند!)سؤالات تمرینی بخش ۵:
۱. کد زیر چه خروجی میدهد؟
let score = 85;
if (score >= 90) {
console.log("عالی");
} else if (score >= 80) {
console.log("خیلی خوب");
} else if (score >= 70) {
console.log("خوب");
} else {
console.log("نیاز به تلاش بیشتر");
}۲. دستور switch زیر را به if…else تبدیل کن:
let day = 3;
switch (day) {
case 1: console.log("شنبه"); break;
case 2: console.log("یکشنبه"); break;
case 3: console.log("دوشنبه"); break;
default: console.log("روز نامعتبر");
}۳. مشکل کد زیر چیست و چگونه اصلاح میشود؟
let grade = "B";
switch (grade) {
case "A":
console.log("عالی");
case "B":
console.log("خوب");
case "C":
console.log("قابل قبول");
default:
console.log("نیاز به بهبود");
}