13- آموزش جاوااسکریپت | کار با دستورات شرطی (If Statements) و عملگرهای مقایسهای
در این آموزش به بررسی پایه منطق در جاوااسکریپت یعنی دستورات شرطی (if/else) میپردازیم. یاد میگیریم چگونه با استفاده از عملگرهای مقایسهای، عملگرهای منطقی (AND و OR) و روشهای فشردهنویسی مانند Ternary Operator جریان اجرای برنامه را کنترل کنیم.
دستورات شرطی ابزاری هستند که به برنامه اجازه میدهند تصمیم بگیرد؛ یعنی بر اساس درست (true) یا غلط (false) بودن یک شرط، بخش خاصی از کد را اجرا کند.
ساختار پایه (If / Else)
سادهترین شکل یک شرط به این صورت است:
const id = 100;
if (id === 100) {
console.log('Correct');
} else {
console.log('Incorrect');
}
عملگرهای مقایسهای (Comparison Operators)
در جاوااسکریپت دو نوع مقایسه داریم که درک تفاوت آنها حیاتی است:
==(مقایسه مقدار): فقط مقدار را بررسی میکند و نوع داده (string یا number) برایش مهم نیست.===(مقایسه مقدار و نوع): پیشنهاد شده. هم مقدار و هم نوع داده را چک میکند که از بروز باگهای عجیب جلوگیری میکند.
const id = 100;
// مقایسه نوع داده (بهتر است همیشه از این استفاده کنید)
if (id === 100) {
console.log('Correct');
}
همچنین برای "مخالف" بودن از != (فقط مقدار) و !== (مقدار و نوع) استفاده میکنیم.
بررسی وجود متغیر (Undefined)
اگر بخواهید بررسی کنید که آیا یک متغیر تعریف شده است یا خیر، نباید صرفاً از if(id) استفاده کنید، زیرا اگر تعریف نشده باشد، برنامه Error میدهد. بهترین راه استفاده از typeof است:
if (typeof id !== 'undefined') {
console.log(`The ID is ${id}`);
} else {
console.log('No ID');
}
عملگرهای منطقی (Logical Operators)
برای ترکیب چند شرط با هم از عملگرهای منطقی استفاده میکنیم:
&&(AND): زمانی درست است که هر دو شرط درست باشند.||(OR): زمانی درست است که حداقل یکی از شرطها درست باشد.
const age = 15;
const name = 'Steve';
// مثال AND
if (age >= 13 && age <= 19) {
console.log(`${name} is a teenager`);
}
// مثال OR
if (age < 16 || age > 65) {
console.log('Cannot run in race');
}
عملگر سه-گانه (Ternary Operator)
برای شرایطی که یک دستور if/else ساده داریم، میتوانیم از ? (Ternary) استفاده کنیم که کد را بسیار کوتاهتر میکند:
// ساختار: شرط ? در صورت درست بودن : در صورت غلط بودن
console.log(id === 100 ? 'Correct' : 'Incorrect');
نکته درباره آکولادها
در جاوااسکریپت، استفاده از آکولاد {} در دستورات شرطی اختیاری است، اما اکیداً توصیه میشود همیشه از آنها استفاده کنید تا کد خواناتر بماند و از بروز خطاهای احتمالی جلوگیری شود.
جمعبندی
در این آموزش آموختیم:
- نحوه استفاده از دستورات
if،else ifوelse. - اهمیت استفاده از
===برای مقایسه دقیق. - بررسی مقدار
undefinedبا استفاده ازtypeof. - استفاده از
&&و||برای ترکیب شرطها. - استفاده از
Ternary Operatorبرای کوتاه کردن کدهای شرطی.
در آموزش بعدی به سراغ دستور Switch میرویم که راهکار دیگری برای مدیریت شرایط چندگانه است.