&
बिटवाइस है
यह ऑपरेटर दो संख्याओं की अपेक्षा करता है और एक संख्या को फिर से बताता है । मामले में वे संख्या नहीं हैं, वे संख्या के लिए डाली जाती हैं।
यह कैसे काम करता है? विकिपीडिया का उत्तर है: https://en.wikipedia.org/wiki/Bitwise_operation#AND
नोट: जावास्क्रिप्ट में, इस ऑपरेटर के उपयोग को हतोत्साहित किया जाता है, क्योंकि कोई पूर्णांक डेटा प्रकार नहीं है, बस फ्लोटिंग पॉइंट है। इस प्रकार फ़्लोट्स को प्रत्येक ऑपरेशन से पहले पूर्णांक में बदल दिया जाता है, जिससे यह धीमा हो जाता है। इसके अलावा, इसका विशिष्ट वेब अनुप्रयोगों में कोई वास्तविक उपयोग नहीं है और अपठनीय कोड का उत्पादन करता है।
सामान्य नियम: बचें। इसका उपयोग न करें। यह शायद ही कभी एक रख-रखाव और पठनीय जेएस कोड में होता है।
&&
तार्किक है और
यह दो तर्क और रिटर्न की उम्मीद करता है:
- पहला शब्द जो असत्य का मूल्यांकन करता है
- अंतिम अवधि अन्यथा (यदि सभी सत्य-वाई हैं)
यहाँ कुछ उदाहरण हैं:
0 && false 0 (both are false-y, but 0 is the first)
true && false false (second one is false-y)
true && true true (both are true-y)
true && 20 20 (both are true-y)
यदि आप केवल कभी बूलियन पर इसका उपयोग करते हैं, तो यह गणितीय तर्क से बिल्कुल AND ऑपरेटर है।
&&
परिचालक का पीछा
इस ऑपरेटर को ऊपर के रूप में परिभाषित किया गया है जिसका कारण ऑपरेटर चेनिंग है। आप इस ऑपरेटर को चेन करने में सक्षम हैं और फिर भी उपरोक्त नियमों को बनाए रखें।
true && 20 && 0 && 100 0 (it is the first false-y)
10 && 20 && true && 100 100 (last one, since all are true-y)
&&
लघु सर्किटिंग
जैसा कि परिभाषा से देखा जा सकता है, जैसे ही आप पाते हैं कि एक शब्द झूठा-वाई है, आपको निम्नलिखित शर्तों की परवाह करने की आवश्यकता नहीं है। जावास्क्रिप्ट भी इसे एक पायदान आगे ले जाता है, शर्तों का मूल्यांकन भी नहीं किया जाता है। इसे शॉर्ट सर्किटिंग कहा जाता है।
true && false && alert("I am quiet!")
यह कथन कुछ भी सचेत नहीं करता है और false
वापस आ जाता है। इसलिए, यदि आप &&
ऑपरेटर को एक कम विवरण के लिए एक छोटे प्रतिस्थापन के रूप में उपयोग कर सकते हैं । ये बराबर हैं:
if (user.isLoggedIn()) alert("Hello!")
user.isLoggedIn() && alert("Hello!")
लगभग सभी JS कम्प्रेसर 2 बाइट को बचाने के लिए इस ट्रिक का उपयोग करते हैं।
fruits.length & veggies.length === 0
और बूलियनfruits.length && veggies.length === true
:।