의 물방울 Javascript

에서 NaN 에 대한 테스트의 문제점 원래 A Drip of JavaScript 뉴스 레터에 게시되었습니다.

에서 자바스크립트는 특별한 값을NaN(“를 의미하지 않을 수”)을 사용하여 결과를 나타낼 수학적 계산할 수 없는 표현으로 의미 있는 번호입니다., 예를 들어,

가능성이 있으로 실행NaN때 사용하는parseInt또는parseFloat을 추출하려면에서 번호로 문자열로,이 예에서는 다음과 같습니다.

그 결과로,자바 스크립트 개발자들은 종종 필요한 테스트 결과 변수를 참조를 포함하는지 여부NaN또는지는 의미심장한 값을 대신 합니다. 값이NaN인지 확인하는 몇 가지 다른 방법이 있지만 불행히도 대부분은 신뢰할 수 없습니다., 그들 중 일부를 걸어보고 그들이 어떻게 실패하는지 보자.논리적 인 것은 결과가NaN와 같은지 확인하는 것입니다.나는 이것이 어떻게 작동하는지 잘 모르겠습니다. JavaScript 에서NaN는 자체와 같지 않은 유일한 값이라는 구별이 있습니다. 즉 우리가 할 수 있습니다”t 하는지 여부를 알아 값은NaN에 의해 확인 평등을NaN기 때문에 대답은 항상 있을 것이 아니다.그 밖의 무엇을 시도 할 수 있습니까? 내장 된isNaN함수는 어떻습니까?,나는 이것이 어떻게 작동하는지 잘 모르겠습니다. 이 하나가 작동하는 것 같습니다. 그리고 사실 그것은 어떤 상황에서도 작동합니다. 그러나,그럼에도 불구하고 이름을 목적으로isNaN기능이 아니다”t 여부를 확인하는 값은NaN. 대신,목적은 값을 숫자로 강제 할 수 없는지 여부를 확인하는 것입니다. 이 때문에 오 탐지를 반환 할 수 있습니다., 다음 사항을 고려합니다:

는 확신이 없으면 당신을 다루는 것입니다 숫자와 함께 또는NaN,isNaN기능이 아니다”t 매우 적합니다.

그러나,그것을 밝혀 ECMAScript6 만들 새로운 기능에 대한 특정 목적지 여부를 확인하는 값은NaN. 혼동을 일으킬 정도,이 기능은 또한이라는isNaN지만,그것은 첨부된Number아닌 객체에 직접 글로벌 객체입니다., 그것처럼 사용할 수 있습니다:

우수! 우리는”실제로 작동하는 방법을 얻었습니다. 불행히도Number.isNaN는 최신 버전의 FireFox 및 Chrome 에서만 사용할 수 있으며 ie 또는 다른 주요 브라우저에서 isn”t 아직 지원됩니다. 이것은 미래에 실행 가능한 접근법 일지 모르지만,지금 당장은 매우 좁은 상황에서만 사용될 수 있습니다.대신

어쩌면 우리는NaN“s 유형을 확인할 수 있습니까?나는 당신이 그것을 올바르게 읽었다는 것을 알고 있습니다., JavaScript 에서NaN값은number유형입니다. 그”매우 도움이 될 것 아니에요.

그래서 우리는 무엇을 할 수 있는 뭔가를 얻으려면 제대로 작동하지만,또한 가능한 크로스 브라우저는 무엇입니까? NaN가 JavaScript 에서 자체와 같지 않은 유일한 값이라고 언급 한 방법을 기억하십니까? 우리는 그 사실을 활용할 수 있습니다.

현재 최고의 방법이 여부를 확인하는 값은NaN은 여부를 확인하려면 동등하지 않습니다. 그렇다면NaN라는 것을 알고 있습니다.,

의 물론,이 기술을 사용하지 않는”t 는 특히 읽을 수 있는,그래서 그것은 일반적인 포장으로 유틸리티는 방법입 통신 의향이 더욱 선명하게 보이도록 합니다. 밑줄과 소호 대시 모두 구현을 제공합니다.

나는 이것이 당신이NaN의 특질에 대해 더 잘 이해하는 데 도움이 되었기를 바랍니다.

읽어 주셔서 감사합니다!

조쉬 클랜튼

답글 남기기

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