차이점: Number.isNaN에는 유형 변환 동작이 없지만 isNaN은 매개변수를 Number 유형으로 변환하려고 시도합니다. isNaN은 들어오는 매개 변수가 숫자로 변환될 수 있는지 여부만 확인하고 NaN과 동일한지 여부는 엄격하게 확인하지 않지만 Number.isNaN은 들어오는 매개 변수가 NaN과 동일한지 확인합니다.
추천 튜토리얼: "JavaScript Video Tutorial"
isNaN
isNaN에 매개변수를 전달할 때, isNaN의 원래 의도는 Number( ) 메소드를 Number 유형으로 변환하여 성공하면 false를, 실패하면 true를 반환합니다.
그래서 isNaN은 들어오는 매개변수를 숫자로 변환할 수 있는지 여부만 판단할 뿐, NaN과 같은지 여부를 엄격하게 판단하지는 않습니다.
예:
Number('测试')
"test"가 Number 유형으로 성공적으로 변환되지 않았기 때문에 다음 코드는 true
console.log(isNaN('测试')) //true
Number.isNaN
을 출력하여 들어오는 매개변수가 NaN과 정확히 같은지 확인합니다. (그것도 ===입니다).
그러면 Number.isNaN은 일반적으로 어떤 상황에서 사용되나요?
두 개의 변수가 연산될 때 Number.isNaN을 사용하여 해당 값이 NaN인지 확인할 수 있습니다
console.log(Number.isNaN(1/'测试')); //输出true
두 변수의 차이점
Number.isNaN과 isNaN의 가장 큰 차이점은 바로 숫자입니다. isNaN에 대한 유형 변환 동작은 없습니다.
console.log(isNaN('测试')) //true console.log(Number.isNaN('测试')) //false
위 코드에서는 "test"라는 문자열이 전달되었는데 결과가 왜 다른가요? 이유는
isNaN이 Number 메서드를 통해 문자열 "test"를 Number 유형으로 변환하려고 시도했지만 Number('test')의 결과가 NaN이기 때문에 변환에 실패하여 최종적으로 true를 반환하기 때문입니다.
Number.isNaN 메서드는 들어오는 매개 변수가 모두 NaN('test' === NaN)인지 여부만 엄격하게 확인합니다. 물론 문자열이 모두 NaN과 같지 않으므로 false를 출력합니다.
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 교육을 방문하세요! !
위 내용은 js에서 isNaN과 Number.isNaN의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!