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?