반응형
NaN
그 어떤 것과도 같지 않습니다. 심지어 그 자체도 마찬가지입니다. 평등 또는 불평등 테스트
NaN
예측 가능한 결과를 얻을 수 있지만 아마도 원하는 결과가 아닐 수도 있습니다.
대신 변수가 다음과 같은지 확인하는 가장 좋은 방법은
NaN
ES2015부터 Number.isNaN()을 사용하거나 (아마 반직관적으로) 자신과 비교하는 것입니다. NaN !== NaN이므로 !== a일 때 이는 동일해야 한다는 것을 알 수 있습니다.
NaN
.
나쁜 예:
var a = NaN;
if (a === NaN) { // Noncompliant; always false
console.log("a is not a number"); // this is dead code
}
if (a !== NaN) { // Noncompliant; always true
console.log("a is not NaN"); // this statement is not necessarily true
}
좋은 예:
if (Number.isNaN(a)) {
console.log("a is not a number");
}
if (!Number.isNaN(a)) {
console.log("a is not NaN");
}
반응형