js에서 isNaN과 Number.isNaN의 차이점은 무엇입니까?

青灯夜游
풀어 주다: 2020-11-17 18:18:07
원래의
2708명이 탐색했습니다.

차이점: Number.isNaN에는 유형 변환 동작이 없지만 isNaN은 매개변수를 Number 유형으로 변환하려고 시도합니다. isNaN은 들어오는 매개 변수가 숫자로 변환될 수 있는지 여부만 확인하고 NaN과 동일한지 여부는 엄격하게 확인하지 않지만 Number.isNaN은 들어오는 매개 변수가 NaN과 동일한지 확인합니다.

js에서 isNaN과 Number.isNaN의 차이점은 무엇입니까?

추천 튜토리얼: "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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿