프론트엔드-코드/Javascript

isNaN() 숫자인지 아닌지 여부

sdafdq 2023. 9. 15. 13:38
let n = Number('x');

console.log(n);

console.log(isNaN(n));

애초에 근데 Number(숫자아닌거) 하면 NaN으로 반환하긴 함.

 

 

console.log(isNaN('X'));

 

 

 

console.log(isNaN('15'));
console.log(isNaN(15));
console.log(isNaN('a15'));

참고로 '15'라도 문자열 안에 숫자만 있으면 숫자로 인식 하는 듯.

 

 

이거 쓰는 이유는,

 

예를 들어 'x' === NaN 이렇게 하면 false임.

왜냐하면 NaN 타입이 아니기 때문.

 

그래서 isNaN()으로 숫자와 숫자 이외 명확히 구분해 주는거임.

 

 

 

참고로, 

console.log( 15 instanceof Number);

이건 당연히 15는 원시타입이고 객체가 아니기에 false이다.

 

원시타입 비교는 typeof로

 

console.log(typeof 15 === "number");

저렇게 "number", "string" 등 문자로 나옴.

NaN도 원시타입 상에서는 number임.

 

 

'프론트엔드-코드 > Javascript' 카테고리의 다른 글

Number(), parseInt() 차이  (0) 2023.09.15
typeof  (0) 2023.09.15
Math클래스 소수  (0) 2023.09.14
toString()으로 여러 진법으로 변환  (0) 2023.09.14
Symbol  (0) 2023.09.14