javascriptequals-operatoridentity-operator

What is the difference between == and === in JavaScript?


Possible Duplicate:
Javascript === vs == : Does it matter which “equal” operator I use?
When would JavaScript == make more sense than ===?

What is the difference between below methods in comparing a string with undefined value.

 var x; 
 if(x==undefined) 
 { 
  alert(x); 
 }

and

if(x===undefined)
{ 
  alert(x); 
}

Why should i prefer second method in this case.. Please let me know advantages..


Solution

  • In this case, the result is:

    You should prefer the first method if you'd like undefined and null to be treated equivalently. One common use of this is optional function arguments.

    function greet(name, greeting) {
        if (name == undefined) name = 'World';
        if (greeting == undefined) greeting = 'Hello';
        alert(greeting + ' ' + name);
    }
    
    greet(); // alerts "Hello World"
    greet("Bob"); // alerts "Hello Bob"
    greet(null, "Goodbye"); // alerts "Goodbye World"