They are subtly not the same.
!= checks the value
!== checks the value and type
‘1’ != 1 // false (these two are the same)
‘1’ !== 1 // true (these two are **not** the same).
In the previous example. The first half of the expression is a string, the second half is an integer.
From
http://en.wikipedia.org/wiki/JavaScript_syntax#Operators
!== Not identical
!= Not equal
AND “Identical means equal and of same type.”
From
http://docstore.mik.ua/orelly/webprog/jscript/ch05_04.htm
“In JavaScript, numbers, strings, and boolean values are compared by value.
…
On the other hand, objects, arrays, and functions are compared by reference. ”
—
So in summary are they the same? No, because there is an additional test with !== (over !=) for type sameness as well as equalness.