NaN의 수수께끼: Typeof에서 "숫자"를 반환하는 이유는 무엇입니까?
이름에도 불구하고 "숫자가 아님"(NaN) ), 이 수수께끼의 값은 숫자 유형의 영역에 속합니다. 이러한 특이한 동작은 JavaScript의 숫자 데이터 내부 표현으로 인해 발생할 수 있습니다.
NaN은 숫자 유형의 제한 사항을 벗어나는 특정 값을 나타냅니다. 반올림이 필요한 숫자를 포함하여 모든 숫자는 유사한 제약 조건에 직면할 수 있지만 NaN은 특정 지정으로 인해 고유한 경우를 구성합니다.
NaN이 숫자 유형이라는 명백한 모순은 NaN과 관련된 비교를 고려할 때 훨씬 더 흥미로워집니다. . 기대와는 달리, 서로 다른 NaN 값은 서로 다른 값으로 취급되므로 서로 비교하더라도 동일하지 않은 것으로 간주됩니다.
더 명확히 하기 위해 JavaScript는 비교를 "신호 발생" 또는 "비 신호 발생"으로 분류합니다. 신호 비교에서는 NaN이 포함된 경우 예외가 발생하는 반면, 비신호 비교에서는 단순히 false를 반환합니다. 이러한 구별은 x == x가 "조용한 NaN"인 경우 false로 평가되는 등식 및 부등식 테스트에서 분명합니다.
궁극적으로 NaN을 숫자 유형으로 분류하는 근거와 비교 시 NaN의 고유한 동작 이는 JavaScript의 기본 숫자 표현과 다양한 NaN 값을 구별하려는 노력으로 요약됩니다. 효과적인 JavaScript 프로그래밍을 위해서는 이러한 미묘한 차이를 이해하는 것이 중요하며, 이를 통해 개발자는 복잡한 데이터 유형 및 비교를 탐색할 수 있습니다.
위 내용은 JavaScript의 NaN이 `typeof`에서 \'Number\'를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!