The following evaluate to true:
true
new Number(2) == 2 new String(\"2\") == \"2\"
Obviously, but so do the following:
Just try:
new Number(2) == new Number(2)
that returns
false
and you will have the answer: there are 2 different objects that have 2 different references.