Saturday, 15 September 2012

javascript - What is the difference between !!variable and variable -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 2 जवाब

मैंने कुछ डेवलपर्स को देखा है वेरिएबल जो मुझे समझ में नहीं आता है, और ऐसा कुछ है जो मैंने आमतौर पर अंगरीयएस में देखा है।

इस कोड पर विचार करें:

  var कुछ वैरिएबल = (कुछ अन्य वैरिएबल === 'सच'); अगर (!! कुछ वैरिएबल) {// कुछ सामान यहां हैं}  

क्यों उन दो विस्मयादिबोधक चिह्नों को छोड़ दें? क्या ऐसा नहीं है? यह ऐसा करने का क्या लाभ है?

डबल ऑपरेटर नहीं बूलियन को एक (संभवत: गैर-बुलियन) मान जोड़ता है।

आपके विशिष्ट उदाहरण में:

  var कुछ वैरिएबल = (कुछ अन्य वैरिएबल === 'सच'); अगर (कुछ। कुछ) यहाँ {} कुछ सामान यहाँ  

कुछ वैरिएबल पहले से ही एक बूलियन होने की गारंटी है (एक = == तुलना हमेशा बूलियन है) इसलिए इसे किसी बूलियन को मजबूती से किसी भी तरह से ऑपरेशन नहीं बदलता है और बहुत ज्यादा बर्बाद किया गया कोड है। यहां तक ​​कि अगर यह पहले से ही कोई बूलियन नहीं था, तो आपको इसे बूलियन को जबरदस्ती करने की ज़रूरत नहीं है, जैसे कि की जांच करने के लिए (कुछ वैरिएबल) या तो ऐसा कोई अन्य कारण नहीं है जिसका उपयोग करने के लिए !! यहां।

जब !! उपयोगी होता है, जब आप कहीं एक सच्चे बूलियन को संग्रहीत करना चाहते हैं, लेकिन आपके पास केवल सच्ची या झूठी मूल्य हो सकती है, न कि जरूरी एक असली बूलियन तो आप इसे !!


के साथ एक बूलियन में जबरदस्ती कर सकते हैं, तो मान लें कि आपके पास कुछ मान है जो जरूरी नहीं कि बूलियन है और आप कुछ अन्य सेट करना चाहते हैं पहली चर के सत्यनिष्ठा या झूठी सत्ता पर आधारित एक वास्तविक बूलियन का मान। आप ऐसा कर सकते हैं:

  var myVar; अगर (someVar) {myVar = true; } और {myVar = false; }  

या यह:

  myVar = someVar? सही गलत;  

या यह:

  myVar = !! someVar;  

No comments:

Post a Comment