عملگر سه تایی شرطی در جاوااسکریپت
عملگر شرطی یا عملگر سه تایی تنها عملگر سه عملوندی در جاوااسکریپت است. این عملگر با نماد ? در جاوااسکریپت نمایش داده میشود.
بیشتر بخوانید: عملگرها در جاوااسکریپت
برای استفاده از این عملگر ابتدا یک شرط و یک نماد ? درج میشود. سپس عبارتی قرار میگیرد که در صورت صحیح بودن شرط اجرا میشود. پس از این عبارت یک نماد : قرار میگیرد و در پایان عبارتی درج میشود که در صورت نادرست بودن شرط اجرا میشود.
سینتکس عملگر سه تایی شرطی ? جاوااسکریپت را در ادامه مشاهده میکنید:
condition ? exp1 : exp2
اگر شرط condition برابر با true باشد exp1 و در غیراینصورت exp2 اجرا میشود. مثال زیر نمونه استفاده از این عملگر شرطی برای انتساب مقدار به یک متغیر را در جاوااسکریپت نمایش میدهد:
let mark = 5;
let status = mark >= 10 ? "passed" : "failed";
در خط دوم این مثال اگر مقدار متغیر mark بزرگتر یا مساوی با 10 باشد مقدار متغیر status برابر با "passed"
خواهد شد در غیراینصورت مقدار متغیر status برابر با "failed"
خواهد بود. با توجه به اینکه مقدار متغیر mark در این مثال برابر با 5 است متغیر status با "failed"
مقداردهی میشود.
فراموش نکنید همواره به جای عملگر شرطی سه تایی میتوان از یک دستور if/else مناسب استفاده کرد. به عنوان نمونه، کد زیر معادل با مثال فوق است:
let mark = 5;
let status;
if (mark >= 10){
status = "passed";
} else {
status = "failed";
}
مثال زیر نیز نمونه دیگری از کاربرد عملگر شرطی ? در جاوااسکریپت را نشان میدهد. در صورتی که مقدار qualified برابر با true باشد تابع registerEmployee()
فراخوانی میشود در غیراینصورت تابع reject()
فراخوانی خواهد شد.
qualified ? registerEmployee() : reject();