Sunday, December 02, 2012

Few observaions while comparision

Few days back i am debugging some code in my project. while checking some if conditions i observed below behaviors with the == and === operators. may be these will help you in some situations...

var myvar;
alert(myvar)//undefined
alert(typeof(myvar) == undefined); // false
alert(typeof(myvar) === undefined)  // false
alert(typeof(myvar) == "undefined") // true

// different from the  above one
alert(undefined == myvar) //true
alert(undefined === myvar)//true
alert("undefined" == myvar)//false
alert("undefined' === myvar) // false

observation with Boolean is different from undefined
var myvar = false;
alert(typeof(myvar)// boolean
alert(typeof(myvar) == boolean)//ReferenceError: boolean is not defined
alert(typeof(myvar) == "boolean");
alert(typeof(myvar) == "boolean")// true

observations while comparing boolean values with strings
alert(myvar == "")// true -- false is a empty string?
alert("" == myvar) // true -- same result as above
 
alert(typeof(myvar) == typeof(myvar));

alert(undefined === myvar)
alert(typeof(myvar) == "undefined"); 
alert(typeof(myvar) === undefined); 
alert(typeof(myvar) === undefined); alert(typeof(myvar) === undefined); 
 

No comments:

Post a Comment