NaN과의 동등 연산에서의 자동 변환

다른 숫자와 NaN을 비교할 때 자동 변환 규칙이 적용됩니다. 자동 변환은 두 숫자를 같은 유형으로 변환하려고 시도합니다. 예를 들어, NaN과 다른 숫자를 비교할 때, 자바스크립트는 다른 숫자를 NaN으로 변환하려고 시도합니다. 그러나 이러한 변환은 NaN과 다른 값 사이의 비교에서 항상 예상대로 작동하지 않을 수 있습니다.

다음은 NaN과의 동등 연산에서의 자동 변환 예제입니다.

console.log(NaN == NaN); // false
console.log(NaN === NaN); // false

console.log(NaN == undefined); // false
console.log(NaN == null); // false
console.log(NaN == 0); // false
console.log(NaN == ''); // false
console.log(NaN == 'NaN'); // false
console.log(NaN == false); // false
console.log(NaN == true); // false
console.log(NaN == Infinity); // false
console.log(NaN == -Infinity); // false

NaN과의 동등 연산에서는 항상 false를 반환하는 것을 알 수 있습니다. 따라서 NaN 값을 확인하려면 isNaN() 함수를 사용하는 것이 좋습니다.

console.log(isNaN(NaN)); // true
console.log(isNaN(undefined)); // true
console.log(isNaN(null)); // false
console.log(isNaN(0)); // false
console.log(isNaN('')); // false
console.log(isNaN('NaN')); // true
console.log(isNaN(false)); // false
console.log(isNaN(true)); // false
console.log(isNaN(Infinity)); // false
console.log(isNaN(-Infinity)); // false

NaN 값을 검사하기 위해 isNaN() 함수를 사용하면 더 정확한 결과를 얻을 수 있습니다.