2015-07-01 13 views
23

में कनवर्ट करने का सबसे आसान तरीका मेरे पास एक चर है। आइए इसे toto पर कॉल करें।बूलियन

यह totoundefined, null, एक स्ट्रिंग या ऑब्जेक्ट पर सेट किया जा सकता है।

मैं toto एक डेटा है, जो एक स्ट्रिंग या किसी वस्तु के लिए सेट का मतलब है पर सेट है की जाँच करने के स्पष्ट तरीका चाहते हैं, और न तो undefined है और न ही null, और अन्य चर में इसी बूलियन मान निर्धारित किया है।

var tata = !!toto; // tata would be set to true or false, whatever toto is. 

पहले !false पर सेट किया जाएगा यदि टोटो undefined या null और बाकी true, है और दूसरा एक यह उलट जाएगा:

मैं वाक्य रचना !!, कि इस प्रकार दिखाई देगा करने के लिए सोचा।

लेकिन यह थोड़ा सा डरावना दिखता है ... तो क्या ऐसा करने के लिए एक बेहतर/साफ तरीका है?

मैंने पहले से ही this question देखा है, लेकिन मैं एक चर में एक मान सेट करना चाहता हूं, न कि इसे if कथन में जांचें।

+3

यह सवाल डुप्लिकेट के रूप में चिह्नित किया गया है, लेकिन यदि आप दूसरे प्रश्न को देखें http://stackoverflow.com/questions/263965/how-can-i-convert-a-string-to-boolean-in-javascript यह काफी अलग है; वे सभी – Sam

+0

@ सैम क्षमा पर डुप्लीकेट नहीं हैं, लेकिन मैंने खुद को यह डुप्लिकेट की पुष्टि की, मुझे इस अन्य प्रश्न के बारे में पता नहीं था, लेकिन इससे मेरी समस्या हल हुई। – Aracthor

+2

@Aracthor यह डुप्लिकेट नहीं है, क्योंकि http://stackoverflow.com/questions/263965/how-can-i-convert-a-string-to-boolean-in-javascript स्ट्रिंग को कनवर्ट करने के बारे में है जिसमें केवल शब्द हैं " सच "और" झूठी "उनके बूलियन समकक्षों के लिए। यह प्रश्न किसी भी चर को एक बूलियन में परिवर्तित करने के बारे में है, भले ही यह सत्य या गलत है। –

उत्तर

43

हाँ, तुम हमेशा इस का उपयोग कर सकते हैं:

var tata = Boolean(toto); 

और यहाँ कुछ परीक्षण कर रहे हैं:

for (var value of [0, 1, -1, "0", "1", "cat", true, false, undefined, null]) { 
    console.log(`Boolean(${typeof value} ${value}) is ${Boolean(value)}`); 
} 

परिणाम:

Boolean(number 0) is false 
Boolean(number 1) is true 
Boolean(number -1) is true 
Boolean(string 0) is true 
Boolean(string 1) is true 
Boolean(string cat) is true 
Boolean(boolean true) is true 
Boolean(boolean false) is false 
Boolean(undefined undefined) is false 
Boolean(object null) is false 
+21

ध्यान दें, बूलियन ("झूठा") सच है, जब आप शायद इसे झूठा होना चाहते हैं। –

+7

पृथ्वी पर क्यों आप स्ट्रिंग "झूठी" झूठी होना पसंद करेंगे? यहां तक ​​कि php ऐसा नहीं करता है: डी – Danon

+0

@ नोहा डेविड मुझे वह नहीं मिला जो आप कहने की कोशिश कर रहे हैं। मैंने बस डेवलपर टूल कंसोल में कोड 'बूलियन (झूठा)' चलाया और यह 'झूठा' देता है। किस संदर्भ में यह 'सत्य' वापस आएगा? – RBT

संबंधित मुद्दे