Boolean Operators – Logical AND, Logical OR, Logical NOT

Boolean Operators – ये Operators किसी भी Professional Programming में बहुत बडा Role Play करते हैं। सामान्‍यत: इन Operators को Conditional Statements जैसे कि if, if…else आदि में Use किया जाता है।

Logical NOT

इस Operator को Exclamation Point (!) द्वारा Represent किया जाता है और इसका प्रयोग किसी भी प्रकार की Value के साथ किया जा सकता है। ये Operator हमेंशा true या false Return करता है।

ये Operator सबसे पहले जिस Value के साथ इसे Specify किया जाता है, उसे Boolean Value में Convert करता है और फिर उस Boolean Value को Reverse यानी true को falsefalse को true कर देता है। यानी ये Operator निम्नानुसार काम करता है:

  • यदि Operand कोई Object हो, तो ये false Return करता है।
  • यदि Operand कोई Empty String हो, तो ये true Return करता है।
  • यदि Operand कोई Non-Empty String हो, तो ये false Return करता है।
  • यदि Operand 0 हो, तो ये false Return करता है।
  • यदि Operand Infinity समेत कोई Non-Zero Number हो, तो ये false Return करता है।
  • यदि Operand कोई null हो, तो ये true Return करता है।
  • यदि Operand कोई NaN हो, तो ये true Return करता है।
  • यदि Operand कोई undefined हो, तो ये true Return करता है।

उपरोक्त सभी Rules को हम निम्नानुसार Apply कर सकते हैं:

[code]
alert(!false);      //Output: true
alert(!"blue");     //Output: false
alert(!0);          //Output: true
alert(!NaN);        //Output: true
alert(!"");         //Output: true
alert(!12345);      //Output: false
[/code]

इस Operator का प्रयोग करके हम किसी Value को उसके Boolean Equivalent में Convert करने के लिए भी Use कर सकते हैं व Boolean() Casting Function के रूप में Use कर सकते हैं। ऐसा करने के लिए हमें दो बार NOT Operator को Use करना होता है। पहला NOT Operand की प्रक`ति के अनुसार Boolean Representation Return करता है जबकि दूसरा NOT Return होने वाले मान को Reverse कर देता है, जिससे वास्तविक Boolean Value प्राप्त होती है। प्राप्त होने वाला End Result वही होता है जो Boolean() Casting Function को Use करने पर प्राप्त होता है। जैसे-

[code]
alert(!!"blue");    //Output: true
alert(!!0);         //Output: false
alert(!!NaN);       //Output: false
alert(!!"");        //Output: false
alert(!!12345);     //Output: true
[/code]

Logical AND

इस Operator को Double Ampersand (&&) द्वारा Represent किया जाता है और इसका प्रयोग हमेंशा दो Operands के बीच किया जाता है। जैसे-

      var result = true && false;

Logical AND Operator उसी स्थिति में true Return करता है, यदि इसके Left व Right दोनों Side में Finally True Return हो रहा हो। इस Operator का प्रयोग भी किसी भी प्रकार के मान के साथ किया जा सकता है।

जब इस Operator के Left या Right Side का Operand कोई Primitive Boolean Value न हो, तब ये Operator हमेंशा Boolean Value Return नहीं करता बल्कि निम्न Rules को Follow करता है:

  • यदि First Operand कोई Object हो, तो ये Operator दूसरे Operand को Return करता है।
  • यदि दूसरा Operand कोई Object हो, तो Object उसी स्थिति में Return होता है जबकि पहला Operand Finally true Return कर रहा हो।
  • यदि दोनों Operands Objects हों, तो ये Operator Second Operand को Return करता है।
  • यदि दोनों में से कोई भी एक Operand null, undefined या NaN हो, तो ये Operator क्रमश: null, undefined या NaN Return करता है।

Logical AND Operator एक प्रकार का Short Circuit Operator होता है। यानी यदि इस Operator का पहला Operand false हो, तो ये Finally false Return कर देता है और दूसरे Operand को Check ही नहीं करता। क्योंकि AND Operator के true Return करने की एक ही स्थिति है कि इसके दोनों Operands true हों और जब पहला Operand ही false हो, तो दूसरे Operand को Check करने की जरूरत ही नहीं रहती।

Logical OR

इस Operator को Double Pipe ( || ) द्वारा Represent किया जाता है और इसका प्रयोग भी हमेंशा दो Operands के बीच किया जाता है। जैसे-

      var result = true || false;

इस Operator को दो Operands के साथ Use किया जाता है, इसलिए दोनों में से कोई भी एक Operand यदि Finally true Return करता है, तो ये Operator Finally true Return करता है।

Logical AND की तरह ही यदि इस Operator के साथ Specified कोई भी Operand Finally Boolean Value Return नहीं करता, तो ये Operator true या false Return नहीं करता बल्कि निम्न Rules को Follow करता है:

  • यदि First Operand कोई Object हो, तो ये Operator First Operand को Return करता है।
  • यदि पहला Operand कोई false हो, तो ये Operator दूसरा Operand Return करता है।
  • यदि दोनों Operands Objects हों, तो ये Operator First Operand को Return करता है।
  • यदि दोनों Operand null, undefined या NaN हो, तो ये Operator क्रमश: null, undefined या NaN Return करता है।

Logical AND Operator की तरह ही ये भी एक प्रकार का Short Circuit Operator होता है। यानी यदि इस Operator का पहला Operand true हो, तो ये Finally true Return कर देता है और दूसरे Operand को Check ही नहीं करता। क्योंकि OR Operator के true Return करने के लिए दोनों में से किसी भी एक Operand का true होना जरूरी होता है और जब पहला Operand ही true हो, तो दूसरे Operand को Check करने की जरूरत ही नहीं रहती।

Advavnce JavaScript in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Advance JavaScript in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Advance JavaScript in Hindi | Page: 669 | Format: PDF

BUY NOW GET DEMO REVIEWS