क्या जावास्क्रिप्ट में बूलियन मान को टॉगल करने का एक बहुत आसान तरीका है ?
अब तक, एक कस्टम फ़ंक्शन लिखने के बाहर मुझे जो सबसे अच्छा मिला है, वह टर्नरी है:
bool = bool ? false : true;
क्या जावास्क्रिप्ट में बूलियन मान को टॉगल करने का एक बहुत आसान तरीका है ?
अब तक, एक कस्टम फ़ंक्शन लिखने के बाहर मुझे जो सबसे अच्छा मिला है, वह टर्नरी है:
bool = bool ? false : true;
जवाबों:
bool = !bool;
यह अधिकांश भाषाओं में सही है।
bool = !bool || true;
डिफ़ॉल्ट होने के लिए विस्तारित कर सकते हैं , मुझे लगता है।
यदि आपको बूलियन को एक नंबर में परिवर्तित करने का मन नहीं है (जो कि 0 या 1 है), तो आप बिटवाइज़ XOR असाइनमेंट ऑपरेटर का उपयोग कर सकते हैं । इस तरह:
bool ^= true; //- toggle value.
यह विशेष रूप से अच्छा है यदि आप लंबे, वर्णनात्मक बूलियन नामों का उपयोग करते हैं, जैसे:
var inDynamicEditMode = true; // Value is: true (boolean)
inDynamicEditMode ^= true; // Value is: 0 (number)
inDynamicEditMode ^= true; // Value is: 1 (number)
inDynamicEditMode ^= true; // Value is: 0 (number)
प्रत्येक पंक्ति में चर को दोहराने की तुलना में स्कैन करना मेरे लिए आसान है।
यह विधि सभी (प्रमुख) ब्राउज़रों (और अधिकांश प्रोग्रामिंग भाषाओं) में काम करती है।
bool ^= 1
bool === false
या bool === true
अब। यह मौजूदा कोड को तोड़ सकता है, इसलिए सावधान रहें।
आइए इसे कार्रवाई में देखते हैं:
var b = true;
console.log(b); // true
b = !b;
console.log(b); // false
b = !b;
console.log(b); // true
मैं एक toggling विधि के बाद खोज कर रहा था जो वैसा ही करता है, null
या undefined
जहां यह बनना चाहिए false
।
यह रहा:
booly = !(booly != false)