xxxxxxxxxx
//loosely equal (compare values between two variables)
null == undefined // true ( null => 0 , undefined => NAN)
//strictly not equal (compare both type and value)
null === undefined // false (typeof null => object , typeof undefined => undefined)
null !== undefined // true (typeof null => object , typeof undefined => undefined)
xxxxxxxxxx
null is a special object because typeof null returns 'object'.
On the other hand,
undefined means that the variable has not been declared,
or has not been given a value.