
동등 비교 연산자는 느슨한 비교를 하지만 일치 비교 연산자는 엄격한 비교를 한다.
동등 비교 연산자는 좌항과 우항의 피연산자를 비교할 때 먼저 암묵적 타입 변환을 통해 타입을 일치시킨 후 같은 값인지 비교한다.
동등 비교 연산자는 좌항과 우항의 피연산자가 타입은 다르더라도 암묵적 타입 변환 후에 같은 값일 수 있다면 true를 반환한다.
'0' == ''; // false
0 == ''; // true
0 == '0'; // true
false == 'false'; // false
false == '0'; // true
false == null; // false
false == undefined; // false
동등 비교 연산자는 예측하기 어려운 결과를 만들어내기 때문에 일치 비교 연산자를 사용한다.
NaN은 자신과 일치 하지 않는 유일한 값이다.
숫자가 NaN인지 조사하려면 빌트인 함수 Number.isNaN을 사용한다.
NaN === NaN; // false
Number.isNaN(NaN) // true