عملگر سه تایی در جاوا اسکریپت — به زبان ساده

۱۰۱۱ بازدید
آخرین به‌روزرسانی: ۰۷ شهریور ۱۴۰۲
زمان مطالعه: ۲ دقیقه
عملگر سه تایی در جاوا اسکریپت — به زبان ساده

در زبان برنامه‌نویسی جاوا اسکریپت علامت سؤال جایگزینی برای گزاره if است و بهتر است در مواردی استفاده شود که یکی از دو مقدار بر اساس یک گزاره شرطی به یک متغیر انتساب می‌یابند. در واقع هدف از علامت سؤال (?) در کد جاوا اسکریپت بازگشت دادن یکی از دو مقدار بسته به شرایط است. درک ساختار علامت سؤال و همچنین علامت سوال-دونقطه (:?‎) آسان است، اما استفاده بیش از حد از آن ممکن است خوانایی کد را دشوار سازد. نام دیگر علامت سؤال یا عملگر شرطی در جاوا اسکریپت، عملگر سه‌تایی است، چون سه عملوند دارد. با این که ساختار این عملگر سراست است، اما توضیح کارکرد آن ممکن است دشوار باشد. در این مقاله قصد داریم با عملگر سه تایی در جاوا اسکریپت آشنا شویم.

عملگر علامت سؤال، سه عملوند می‌گیرد که به ترتیب به صورت یک شرط، یک مقدار در صورت درست بودن شرط و مقدار دیگر در صورت نادرست بودن شرط هستند. این ساختار در زبان جاوا اسکریپت برای کوتاه‌تر کردن گزاره if else در یک خط کد مورد استفاده قرار می‌گیرد. عملگر سه‌تایی تنها عملگر جاوا اسکریپت است که سه عملوند می‌گیرد. این عملگر به طور مکرر به عنوان اختصاری برای گزاره if استفاده می‌شود.

در ادامه مثالی از ساختار عملگر سه‌تایی مشاهده می‌کنید:

1(1+1==2)? "Pass": "Fail"

علامت سؤال و علامت دونقطه در مجموع ساختار عملگر سه‌تایی را تشکیل می‌دهند.

مزیت‌های عملگر سه‌تایی در جاوا اسکریپت

عملگر سه‌تایی در جاوا اسکریپت برای انتساب سریع یک مقدار متفاوت به متغیر بر اساس شرط خاص مفید است و این موقعیتی است که به فراوانی پیش می‌آید.

به کدهای زیر توجه کنید.

1let [profit, costs] = [120000, 100000] // It was a good month 
2// Employee bonus structure: $1000 if >10% profit, $100 if not
3let employeeBonus = (profit/costs > 1.10) ? 1000 : 100
4console.log("$"+employeeBonus) // $1000

مهم‌ترین مزیت آن این است که تنها یک خط کد اشغال می‌کند و از این رو علاوه بر صرفه‌جویی در زمان، ما را از زحمت نوشتن بلوک‌های if، else و {} معاف می‌دارد.

از نظر فنی پرانتزها اختیاری هستند، اما استفاده از آن‌ها موجب بهبود خوانایی کد می‌شود:

1employeeBonus = profit/costs > 1.10? 1000: 100

برخی برنامه‌نویس‌ها تصور می‌کنند که خواندن عملگر سه‌تایی دشوار است، اما واقعیت این است که این ساختار امکان نوشتن کدهای تک‌خطی را فراهم می‌کند:

1(employeeBonus>500)? console.log("?"): console.log("?") // ?

اگر کد فوق را با ساختار جایگزین مقایسه کنیم، بهتر متوجه تفاوت حجم کد می‌شویم:

1if (employeeBonus>500)
2  { console.log("?") }
3else
4  { console.log("?") } // ?

عموماً بهترین رویه، معکوس سازی برای حالت‌های انتساب متغیر است تا استفاده از علامت سوال-دونقطه معنی‌دار شود:

1let monthProfitOrLoss = (profit > costs) ? "Profit" : "Loss"
2console.log(`${monthProfitOrLoss} last month`) // Profit last month

در حالت‌های دیگر که در صورت درست بودن نتیجه مقایسه عملی انجام خواهد شد، بهتر است از ساختار if استفاده کنیم تا کد تمیزتر بماند.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
javascript-in-plain-english
۱ دیدگاه برای «عملگر سه تایی در جاوا اسکریپت — به زبان ساده»

بسیار مختصر و مفید . ممنونم

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *