1. alert( isNaN( NaN ) ) //true

2. alert( isNaN( 10 ) ) //false

3. alert( isNaN( "10" ) ) //false

4. alert( isNaN( "blue" ) ) //true

5. alert( isNaN( true ) ) //false


isNaN() 함수는 매개변수(parameter)를 "숫자로 바꿀 수 없니?" 에 대한 대답으로 생각하면 편하다.


1 - NaN의 데이터 타입은 숫자이지만, 위 주황색 텍스트 질문에 대답은 "응(true). 없어." 이다.


2 - 10의 데이터 타입은 숫자, 위 질문에 대답은 "아니(false). 있어." 이다. 10 -> (같은 값이긴 하지만) 10(숫자)


3 - "10" 데이터 타입은 문자, 위 질문에 대한 대답은 아니(false) 있어 이다. "10" -> 10 (js에서는 가능)


4 - "blue" 데이터 타입은 3번과 같은 문자, 숫자로는 바꿀 수가 없다. 따라서 위  질문에 대한 대답은 "응(true). 없어" 이다.


5 - true 의 데이터 타입은 boolean, 질문에 대한 대답은  "아니(false) 있어." 이다.


영어 base로 만들어진 함수여서 한국인에게 좀 더 헷갈리게 다가오는 함수인듯 하다.




"프론트엔드 개발자를 위한 자바스크립트 프로그래밍" 책을 공부하면서 인상깊은 내용을 정리한 내용입니다.

http://www.insightbook.co.kr/book/programming-insight/professional-javascript-for-web-developers


+ Recent posts