double vs triple equal

Prev Top Next
1 == 1// ?// true 
1 === 1// ?// true 
 
'foo' == 'foo'// ?// true 
'foo' === 'foo'// ?// true 
 
null == undefined// ?// true -- double-equals coerces types to match 
null === undefined// ?// false -- triple-equals does strict type checking 
 
{} == {}; // ?// false 
{} === {}; // ?// false 
// Why?