JS에서 triple equals를 사용할 때 우리는 엄격한 동등성(strict equality)을 테스트합니다.
이것은 type과 value이 모두 동일해야하는 것을 의미합니다.
아래의 예제들은 ===의 핵심은 우리가 비교하는 type과 value가 동일해야한다는 것을 보여줍니다.
💡
5 === 5 // true
'hello world' === 'hello world' // true
true === true // true
77 === '77' // false
'cat' === 'dog' // false
false === 0 // false
JS에서 double equals를 사용할때 느슨한 동등성(loose equality)을 테스트합니다.
유형 강제 변환(type coercion)도 수행합니다.
유형 강제는 두 값만 비교됨을 의미하며 그 후에 그것들을 공통 유형으로 변환하려합니다.
💡
77 == '77' // true
false == 0 // true
0 == "" // true
"" == false // true
NaN == null // false
NaN == undefined // false
NaN == NaN // false