isNaN () (한국어)

isNaN 함수 사양의 가장 초기 버전 이후로 숫자가 아닌 인수에 대한 동작은 혼란 스러웠습니다. isNaN 함수에 대한 인수가 숫자 유형이 아닌 경우 값은 먼저 숫자로 강제 변환됩니다. 그런 다음 결과 값을 테스트하여 NaN인지 확인합니다. 따라서 숫자 유형으로 강제 변환 할 때 유효한 비 NaN 숫자 값 (특히 강제 변환시 숫자 값 0 또는 1을 제공하는 빈 문자열 및 부울 프리미티브)이되는 비 숫자의 경우 “false”반환 값은 예상치 못한 것일 수 있습니다. 예를 들어 빈 문자열은 확실히 “숫자가 아닙니다.” 혼란은 “숫자가 아님”이라는 용어가 IEEE-754 부동 소수점 값으로 표현되는 숫자에 대해 특정 의미를 가지고 있다는 사실에서 비롯됩니다. 이 함수는 “이 값이 숫자 값으로 강제 변환 될 때 IEEE-754″숫자가 아님 “값입니까?”라는 질문에 답하는 것으로 해석되어야합니다. “

ECMAScript 2015에는 함수. Number.isNaN(x)xNaN인지 여부를 테스트하는 신뢰할 수있는 방법입니다. 그러나 Number.isNaN에서도 NaN의 의미는 “숫자가 아니라”가 아니라 정확한 숫자 의미로 유지됩니다. 또는 Number.isNaN가없는 경우 (x != x) 표현식이 xNaN이거나 아닙니다. 결과는 isNaN를 신뢰할 수 없게 만드는 오탐의 영향을받지 않기 때문입니다.

isNaN의 폴리 필은 다음과 같습니다 (폴리 필은 NaN의 고유 한 절대 같지 않음 특성을 활용 함).

Write a Comment

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다