
بررسی پاسخهای بخش ۶:
**پاسخ ۱:
- حلقه از ۳ شروع میشود و تا ۱ ادامه پیدا میکند
i--در هر تکرار عدد را کاهش میدهد- خروجی: “3”, “2”, “1”, “پایان!”
**پاسخ ۲: راه حل صحیح:
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) {
console.log(i);
}
}
// یا روش بهینهتر:
for (let i = 2; i <= 10; i += 2) {
console.log(i);
}**پاسخ ۳:
- این یک حلقه بینهایت است
- مقدار
numberدر بدنه حلقه تغییر نمیکند، بنابراین شرطnumber < 5همیشه true باقی میماند
راه حل صحیح:
let number = 1;
while (number < 5) {
console.log(number);
number++; // این خط اضافه شد
}**پاسخ ۴:
do...while: حداقل یک بار اجرا میشودwhile: ممکن است حتی یک بار هم اجرا نشود
مثال تکمیلی:
// while - ممکن است اجرا نشود
let x = 10;
while (x < 5) {
console.log("این اجرا نمیشود");
}
// do...while - حداقل یک بار اجرا میشود
let y = 10;
do {
console.log("این اجرا میشود: " + y);
} while (y < 5);خلاصه نکات مهم حلقهها:
| ویژگی | for | while | do…while |
|---|---|---|---|
| کاربرد | تعداد تکرار مشخص | تعداد تکرار نامشخص | حداقل یک بار اجرا |
| بررسی شرط | ابتدا | ابتدا | انتها |
| اجرای حداقلی | ممکن است اجرا نشود | ممکن است اجرا نشود | همیشه یک بار |
بخش ۷: مدیریت خطا - مقابله با مشکلات در کد
۱. ساختار try-catch-finally
برای مدیریت خطاهای زمان اجرا استفاده میشود.
سینتکس:
try {
// کدی که ممکن است خطا دهد
} catch (error) {
// مدیریت خطا
} finally {
// کدی که همیشه اجرا میشود
}۲. مثالهای کاربردی
مثال ۱: خطای ReferenceError
try {
console.log(variableNotDefined); // خطا - متغیر تعریف نشده
} catch (error) {
console.log("خطا رخ داد: " + error.message);
} finally {
console.log("این قسمت همیشه اجرا میشود");
}
// خروجی: "خطا رخ داد: variableNotDefined is not defined"
// "این قسمت همیشه اجرا میشود"مثال ۲: خطای SyntaxError در JSON
try {
let data = JSON.parse('{name: "Ali"}'); // JSON نادرست
} catch (error) {
console.log("خطای JSON: " + error.name);
console.log("پیام: " + error.message);
}مثال ۳: ایجاد خطای دلخواه با throw
try {
let age = -5;
if (age < 0) {
throw new Error("سن نمیتواند منفی باشد");
}
console.log("سن معتبر است");
} catch (error) {
console.log("خطا: " + error.message);
}
// خروجی: "خطا: سن نمیتواند منفی باشد"۳. ویژگیهای شیء Error
error.name: نوع خطا (مثل “ReferenceError”, “TypeError”)error.message: توضیح خطاerror.stack: مسیر اجرای کد تا نقطه خطا
سؤالات تمرینی بخش ۷:
۱. خروجی کد زیر چیست؟
try {
let result = 10 / 0;
console.log(result);
} catch (error) {
console.log("خطا: " + error.message);
} finally {
console.log("پایان محاسبات");
}۲. مشکل کد زیر چیست؟
try {
let data = JSON.parse('{"name": "Ali"}');
console.log(data.age.toString());
} catch (error) {
console.log("خطا رخ داد");
}۳. کدی بنویس که عددی از کاربر بگیرد و اگر عدد منفی بود، خطای دلخواه ایجاد کند.