Categories
JavaScript Web

JavaScript Basics: How to check for null & undefined

To check if a variable(a) has the value null, use the following code:

if (a === null) // Best way to do it!

if (a == null) // This does return true if a is null but it returns true also if a is undefined... so avoid it

To check if a variable(a) has the value undefined, use the following code:

if (typeof a === "undefined") // This works

if (a === undefined) // This works too

if (a == undefined) // This does return true if a is undefined but it returns true also if a is null... so avoid it

Categories
JavaScript jQuery Web

JavaScript Basics: Difference between == & === (with examples)

JavaScript has two sets of equality operators: === and ==. They mostly work exactly the same ie, if the operands are of the same type and have the same value, then === produces true & so does ==. But if the operands are of different types, then === produces false & == says true. The simplest reason is that == is also a type converter.

Here are some examples of === & == in action:

true == 1 // true
true === 1 // false, because they are of a different type
1 == "1" // true, automatic type conversion for value only
1 === "1" // false, because they are of a different type
null == undefined // true
null === undefined // false

== is also notoriously inconsistent. See the below examples:

'' == '0' // false
0 == '' // true
0 == '0' // true

false == 'false' // false
false == '0' // true

false == undefined // false
false == null // false
null == undefined // true

' \t\r\n ' == 0 // true

Best practice is to avoid == and use === consistently in your code.