isNaN()
NaN은 ‘Not a Number’란 표현이고 직역하면 ‘숫자가 아니다’가 된다.
isNaN(value)은 value가 ‘숫자가 아닌가? ‘라는 질문에
true 혹은 false를 리턴한다.
간단히 “apple”이란 문자열을 넣어보자. isNaN(“apple”) 하면 “apple”이 String 이기 때문에 NaN(숫자가 아님)이므로 true를 리턴한다.
그런데 123은 어떨까? 숫자니까 false가 나온다..
여기까진 상상한데로다.
하지만 “123”은 어떻게 될까?
isNaN("123") // false
음…..문자열인데 false 다. 타입을 확인해도
typeof "123" // "String"
“123”은 스트링이 맞다. 숫자가 아니니까 true를 리턴해야 하는게 아닌가?
isNaN("apple") // true isNaN("123") // false <= ? isNaN(123) // false isNaN("apple123") // true isNaN("123apple") // true
따옴표를 한 “123” 은 문자열 type이지만 (숫자로만 이루어져 있을 경우) isNaN(“123”)은 먼저 내부적으로 숫자 123으로 변경되기 때문에 false를 리턴한다.
Total Views: 452 ,