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
'프론트엔드 개발자를 위한 자바스크립트 프로그래밍 공부 > 3장 언어의 기초 - 연산자' 카테고리의 다른 글
동일/비동일 연산자( == , !=) vs 일치/비일치 연산자( === , !== ) (0) | 2019.01.10 |
---|---|
뺄셈 연산 (0) | 2019.01.10 |
논리 OR 연산자 || (0) | 2019.01.10 |
Boolean - 논리 AND 연산자 ( &&) (0) | 2019.01.10 |
단항 연산자 (2) | 2019.01.09 |