कंडीशनल (टर्नरी) ऑपरेटर
?: (टर्नरी ऑपरेटर) JavaScript का एकमात्र ऑपरेटर है जो तीन ऑपरेंड्स लेता है। यह एक कंडीशन का मूल्यांकन करता है और उसके आधार पर दो एक्सप्रेशन्स में से एक रिटर्न करता है।
सिंटैक्स
<html>
<body>
<script>
var a = 10;
var b = 20;
var linebreak = "<br />";
document.write("((a > b) ? 100 : 200) => ");
result = (a > b) ? 100 : 200;
document.write(result); // 200
document.write(linebreak);
document.write("((a < b) ? 100 : 200) => ");
result = (a < b) ? 100 : 200;
document.write(result); // 100
document.write(linebreak);
</script>
</body>
</html>
प्रवाह आरेख
var age = 20; var status = age >= 18 ? "Adult" : "Minor"; console.log(status); // "Adult" var isMember = true; var discount = isMember ? 0.1 : 0; console.log(discount); // 0.1
2. नल/अनडिफाइंड चेक
3. इंलाइन रेंडरिंग (React/JSX में आम)
var score = 85; var grade = score >= 90 ? "A" : score >= 80 ? "B" : score >= 70 ? "C" : score >= 60 ? "D" : "F"; console.log(grade); // "B"if-else vs टर्नरी
| विशेषता | if-else | टर्नरी (?:) |
|---|---|---|
| स्टेटमेंट vs एक्सप्रेशन | स्टेटमेंट (वैल्यू रिटर्न नहीं करता) | एक्सप्रेशन (वैल्यू रिटर्न करता है) |
| असाइनमेंट में उपयोग | नहीं (ब्लॉक आवश्यक) | हाँ (इंलाइन) |
| पठनीयता | जटिल लॉजिक के लिए बेहतर | सरल कंडीशन्स के लिए बेहतर |
| डीबगिंग | आसान | कठिन (स्टेप-थ्रू मुश्किल) |
बेस्ट प्रैक्टिस
- सरल, सिंगल-लाइन कंडीशन्स के लिए टर्नरी उपयोग करें
- जटिल लॉजिक के लिए if-else उपयोग करें
- नेस्टेड टर्नरी से बचें - पठनीयता खराब होती है
- पैरेंथेसिस का उपयोग करें स्पष्टता के लिए:
(cond) ? a : b