Web/Javascript

스크립트 0/0 NaN처리 어떻게 처리 해야할까요?

꾹꾹이 2022. 1. 5.
728x90

자바스크립트에서 문자열과 피연산자를 함께 사용하면 NaN 값이 반환된다.

 

이때, isNaN 함수를 사용해서 해결하자.

 

먼저 isNaN이란

 

isNaN(Not a Number) : 매개변수가 숫자인지 검사하는 함수.

 

isNaN(value)

 

value가 숫자인 경우 false를, 숫자가 아닌 경우 true를 반환한다.

 

예시)

1
2
3
4
5
6
7
8
9
10
11
var a = 10.5    
var b = '10.5';
var c = 'isNaN';
var d = 10*10;
var e = '10 * 10';
 
return isNaN(a);    //false 를 반환
return isNaN(b);    //false 를 반환
return isNaN(c);    //true 를 반환
return isNaN(d);    //false 를 반환
return isNaN(e);    //true 를 반환
cs

 

예시에 나온 것처럼 숫자는 false를 반환한다.

주의할 점은 '10.5' 도 숫자로 인식하고 false를 반환한다는 점이다.

 

isNaN을 이용해서 NaN 에러를 수정하는 법은 다양하다.

나 같은 경우에는 삼항 연산자를 사용했다.

예시는 아래와 같다.

1
2
3
var num    = 10;
 
return isNaN(num) ? Number(num)/2: num/2;    //return 5
cs

 

 

댓글