- The operator
==
casts between two different types if they are different - The
===
operator performs a ‘typesafe comparison‘
That means that it will only return true if both operands have the same type and the same value.
1 === 1: true
1 == 1: true
1 === "1": false // 1 is an integer, "1" is a string
1 == "1": true // "1" gets casted to an integer, which is 1
"foo" === "foo": true // both operands are strings and have the same value