In JavaScript you might have noticed that you have two ways of making equal comparisons between values:
- Regular equals:
==(double equals) - Strict equals:
===(triple equals)
The difference between double equals (==) and triple equals (===) is:
- Regular equals only compare values and ignore value type
- Strict equals compare both values and value types.
For example:
// returns true
5 == "5"
// returns false
5 === "5"In the two examples above, the value on the left is a numeric value type, the one the right is a string value type (specified by the quotes ' ').
They both have the value five but one is a numeric value the other is a string value. Strict equals === only evaluates to true if both the value and the value type is the same.
So both of these examples evaluate/return true because their value type on either side of the strict equals is the same:
// returns true
5 === 5
// returns true
"5" === "5"