Skip to content Skip to sidebar Skip to footer

Javascript Logical Operators And Results

I know that the result of logical operations in most of the languages is either true, false or 1,0. In Javascript I tried the following: alert(6||5) // => returns 6 alert(5||6)

Solution 1:

Since javascript is not a typed languaged any object can be used on logical operators, if this object is null, a false boolean, an empty string, a 0 or an undefined variable then it acts like a false if it's anything else then it is like a true

At the end of the logical operation the last checked value returns.

So

6||2

Check first value ->"6"6 = true
Go to next value ->"2"2 = true

End of operation, return last value. 2 which would work the same as true if passed to another logical operation.

Edit: that was a wrong statement. 6||2 returns 6 because 6 acting as true is enough to know the condition OR is true without the need to check the next value.

It is really the same way as in

true||true

Checkfirstvalue-> "true"
Check next value-> "true"
returnlastvalue-> "true"

And for 6 && 0 && 2

Firstvalue6=true
Next value0=false

Stop operation here and returns the last checked value: 0.

The | operator is a whole different thing, it simply peforms a logical OR on the bits of the input values, as explaned on the other answer by akp.

Solution 2:

Actually what you have derived are the pure digital results...like...

3inbinaryis011......
   4inbinaryis100.....

   when u perform 3|4......

   it is equivalent to011|100......i.e the ORoperator which is the one of the bases of all logical operations

       011100

   will give 111 ie 7.............

   so u will get3|4as7......

   hope u understand..

Post a Comment for "Javascript Logical Operators And Results"