React ES6 Ternary Operator
🔹 React ES6 Ternary Operator (عملگر شرطی در React)
در این درس یاد میگیری عملگر شرطی سهتایی (Ternary Operator) در جاوااسکریپت و React JSX چطور استفاده میشه و چطور میتونی باهاش تصمیمگیری و شرطگذاری داخل کامپوننتها انجام بدی.
🔸 تعریف Ternary Operator
عملگر سهتایی یا Ternary Operator (: ?
) راهی کوتاه و ساده برای نوشتن شرطهای if...else
در یک خط است.
📘 ساختار کلی:
📌 اگر شرط درست (true
) باشد، قسمت اول اجرا میشود،
در غیر این صورت، قسمت دوم.
🔹 مثال ساده در جاوااسکریپت
📌 اگر age >= 18
درست باشد، مقدار "Adult"
برمیگردد، وگرنه "Minor"
.
🔹 استفاده در React JSX
در JSX نمیتوان از if...else
مستقیم استفاده کرد،
اما میتوان با Ternary Operator شرط گذاشت.
📌 اگر isLoggedIn
برابر true
باشد، متن “Welcome back!” نمایش داده میشود،
در غیر این صورت “Please log in.”
🔹 مثال ۲: شرط داخل تگها
📌 مقدار داخل {}
به کمک : ?
تعیین میشود.
🔹 مثال ۳: چند شرط پشت سر هم
📌 چندین شرط زنجیرهای را میتوان پشت سر هم نوشت (مشابه if-else if-else).
🔹 مثال ۴: استفاده برای نمایش کامپوننتها
📌 با ... : ... ? user
مشخص میشود که آیا کاربر وارد شده یا نه.
🔹 مثال ۵: JSX خالی (عدم نمایش بخش دوم)
اگر فقط در صورت درست بودن شرط بخوای چیزی نشون بدی،
میتونی قسمت false
رو خالی بذاری یا از &&
استفاده کنی:
📌 در صورت false
، چیزی نمایش داده نمیشود.
🔹 مثال ۶: Ternary در کلاسها و استایلها
📌 از Ternary میتوان برای تغییر کلاس CSS بر اساس props یا state استفاده کرد.
🔹 مثال ۷: استفاده در ترکیب با State
📌 هر بار کلیک میکنی، state تغییر میکنه و متن دکمه با شرط ternary تغییر میکنه.
✅ نکتهها
مورد | توضیح |
---|---|
عملگر | : ? |
استفاده در JSX | داخل {} |
جایگزین if...else | بله، برای مقادیر ساده و بازگشتی |
در کلاسها | برای تعیین استایل بر اساس شرط |
در متنها | برای نمایش پیام یا مقدار متفاوت |
در کامپوننتها | برای کنترل نمایش عناصر مختلف |
✅ خلاصه
کاربرد | مثال | توضیح |
---|---|---|
نمایش متن شرطی | {loggedIn ? "Hi" : "Login"} | پیام متفاوت |
نمایش JSX شرطی | {flag ? <A /> : <B />} | نمایش دو کامپوننت متفاوت |
چند شرط زنجیرهای | {x>5 ? "A" : x>2 ? "B" : "C"} | جایگزین if-else های تو در تو |
حالت بدون else | {show ? <Text /> : null} | فقط در صورت درست بودن |
✅ نتیجه
Ternary Operator یکی از پرکاربردترین ابزارها برای شرطگذاری سریع و تمیز در JSX است.
کدت رو خلاصهتر، خواناتر و حرفهایتر میکنه.