आप पहली जगह में त्रिगुट सशर्त ऑपरेटर नफरत है, वहाँ जवाब देने के लिए की आवश्यकता नहीं;)त्रिगुट (सशर्त) ऑपरेटर और शैली
मैं आमतौर पर इस तरह एक काम अभिव्यक्ति के साथ मिलकर में इस्तेमाल देखें:
var foo = (some_condition) ? then_code : else_code;
हालांकि, मैं इसका इस्तेमाल करने की तरह सरल कोड बदलने के लिए करना चाहते हैं:
if(some_condition) {
do_something_simple;
} else {
do_something_else;
}
और बदले कार्य करें:
(some_condition) ? do_something_simple : do_something_else;
मुझे जावास्क्रिप्ट में ऐसा करने की संभावना है। उपर्युक्त में यह अपरिभाषित हो जाता है इसलिए इसे असाइनमेंट की आवश्यकता नहीं होती है। मुझे बचाया गया स्थान पसंद है लेकिन आश्चर्य है कि लोग इस प्रकार के उपयोग पर क्या सोचते हैं, फिर भी, मैं आमतौर पर केवल असाइनमेंट के साथ उपयोग की जाने वाली टर्नरी देखता हूं।
संपादित करें: मैंने "छिपाने के इरादे" के बारे में जवाब देने वाले उत्तरों को देखा है। यद्यपि शास्त्रीय रूप से अभिव्यक्तियों में प्रयोग किया जाता है, फिर भी यह अभिव्यक्ति में उपयोग करने के इरादे को और कैसे छुपा रहा है? खासकर एक गतिशील भाषा में जहां कोई जगह पर टर्नरी ऑपरेटरों का उपयोग देख सकता है?
डुप्लिकेट प्रश्न। कृपया पहले पूछे गए और उत्तर दिए गए प्रश्नों को हमेशा देखें। यहां लिंक है, देखें कि क्या यह मदद करता है: http://stackoverflow.com/questions/3622244/full-if-else-statement-vs-conditional-operator –
युक्ति: ध्यान दें कि इस विशेष टर्नरी ऑपरेटर को आमतौर पर कहा जाता है सशर्त ऑपरेटर। एक "टर्नरी" ऑपरेटर केवल 3 ऑपरेंड के साथ एक ऑपरेटर है, इसलिए शब्द "टर्नरी" है। कई टर्नरी ऑपरेटर नहीं हैं, लेकिन उन भाषाओं में जिनमें एकाधिक हैं, सशर्त एक उनमें से एक है। –
@ माझहर: यह प्रश्न अभिव्यक्ति-स्तर की पसंद के रूप में सामान्य, स्वीकार्य तरीके से '?:' का उपयोग करने के बारे में है। यह 'if-else' को बदलने के लिए सक्रिय साइड इफेक्ट्स करने के लिए'?: 'के दुरुपयोग के बारे में है। व्यक्तिगत रूप से मैं इस अभ्यास से नफरत करता हूं। – bobince