मैं भाग गया (द्वितीय/या ऑपरेटर के अजीब उपयोग):जावास्क्रिप्ट लघु सर्किट कोड के इस टुकड़े में
<a ng-click= "item.statusId !== itemStatus.in || transfer()">
मुझे लगता है कि हम के रूप में सामान्यीकरण कर सकते हैं:
<element ng-click = "someVar !== someValue || doStuff()">
मैं तो इस article on short circuits पाया और एक और more focused one एक बार मुझे पता था कि उन्हें क्या कहा जाता है। हालांकि, मुझे अभी भी यह नहीं मिला है।
क्या यह मूल रूप से मूल्यांकन के समाप्त होने वाले एक या कथन के सिद्धांत पर काम करता है यदि पहला कथन सही साबित होता है? तो यदि पहला कथन सत्य है, तो अंतिम मूल्यांकन, यदि यह गलत है, तो या कथन के दूसरे भाग में फ़ंक्शन चलाएं? (यह मुख्य प्रश्न है जो मैं पूछ रहा हूं, बाकी सब कुछ अतिरिक्त है)।
मुझे लगता है कि मुझे यह हिस्सा नहीं मिलता है कि संकलक इस कोड को अलग-अलग समझता है या फिर भी यह झूठे का मूल्यांकन करता है और केवल फ़ंक्शन चलाता है। यह भी सुनिश्चित नहीं है कि वाक्यांश कैसे करें Q.
धन्यवाद, मैंने पहले ही पढ़ा है। मैं समझता हूं कि यह क्यों काम करता है, मोटे तौर पर। क्या इसका इस्तेमाल करने का बुरा अभ्यास है? – VSO
@ वीएसओ सर्वसम्मति की तरह दिखता है कि [इसे नियंत्रण संरचना के रूप में उपयोग करने के लिए बहुत अच्छा अभ्यास नहीं है] (https://programmers.stackexchange.com/questions/109138/is-it-bad-practice-to-use -शॉर्ट-सर्किट-मूल्यांकन-इसके बजाए एक-अगर-खंड) जैसे। –
ऐसा लगता है कि "कूल बच्चे" उस लिंक को पढ़ने से क्या उपयोग करते हैं। मुझे कोई गंभीर शिकायत नहीं दिखाई दे रही है, लेकिन इससे पहले मुझे भ्रमित कर दिया गया था, इसलिए पदों को यह कहते हुए कि नोबस भ्रमित हैं वैध हैं =) वैसे भी, मदद के लिए धन्यवाद। – VSO