Programmers frequently need to determine the equality of variables in relation to other variables. This is done using an equality operator.
The most basic equality operator is the
== operator. This operator does everything it can to determine if two variables are equal, even if they are not of the same type.
For example, assume:
var foo = 42; var bar = 42; var baz = "42"; var qux = "life";
foo == bar will evaluate to
baz == qux will evaluate to
false, as one would expect. However,
foo == baz will also evaluate to
baz being different types. Behind the scenes the
== equality operator attempts to force its operands to the same type before determining their equality. This is in contrast to the
=== equality operator.
=== equality operator determines that two variables are equal if they are of the same type and have the same value. With the same assumptions as before, this means that
foo === bar will still evaluate to
foo === baz will now evaluate to
baz === qux will still evaluate to