2011-05-30 12 views
6

संभव डुप्लिकेट:
What is the !! operator in JavaScript?जावास्क्रिप्ट! तथा !! मतभेद

इन दो ऑपरेटरों के बीच क्या अंतर है? कर देता है !! विशेष अर्थ है, या इसका मतलब यह है कि आप दो 'कर रहे हैं! संचालन। मुझे पता है कि जावास्क्रिप्ट में "सत्य" और "सत्य" अवधारणाएं हैं, लेकिन मुझे यकीन नहीं है कि !! "सत्य" के लिए है

उत्तर

7

!! लेखन के लिए कुछ कास्ट करने के लिए एक वास्तविक बूलियन मान में एक "truthy" या "falsey" चर परिवर्तित करने का एक आम तरीका है।

उदाहरण के लिए:

var foo = null; 

if (!!foo === true) { 
    // Code if foo was "truthy" 
} 

पहले ! बाद foo लिए आवेदन किया है, दिए गए मान true है। उस मान को दोबारा नोट करना false बनाता है, जिसका अर्थ है if ब्लॉक के अंदर कोड दर्ज नहीं किया गया है।

+3

@ स्पष्टता के लिए, शायद "एक * वास्तविक * बूलियन मूल्य में"। '!! 0', ज़ाहिर है, एक * झूठा * बुलियन मूल्य ... – lonesomeday

+0

@ लोन्सोमेडे: अच्छा पकड़, धन्यवाद। –

+0

तो क्यों न सिर्फ 'अगर (foo) {} '? क्या यह भी वही नहीं करेगा? –

8

!! बस डबल है!

!true // -> false 
!!true // -> true 

!! एक आम तरीका बूलियन मान

!!{} // -> true 
!!null // -> false 
संबंधित मुद्दे