[javascript] NaN 에러 핸들링 방법

Javascript에서 NaN(Not a Number) 오류는 유효하지 않은 숫자 연산 또는 반환 값이 발생했을 때 발생합니다. NaN 오류를 처리하는 방법을 알아보겠습니다.

1. isNaN() 함수 사용하기

Javascript에는 isNaN()이라는 내장 함수가 있습니다. 이 함수를 사용하여 변수의 값이 NaN인지 확인할 수 있습니다. NaN이면 true를 반환하고, 숫자이면 false를 반환합니다. 아래의 예제 코드를 참고해보세요.

let num = parseInt("Hello World"); // NaN
if(isNaN(num)) {
    console.log("변수 num은 NaN 입니다.");
} else {
    console.log("변수 num은 숫자입니다.");
}

위의 코드에서 isNaN() 함수를 사용하여 num 변수의 값을 확인하고, 결과에 따라 적절한 처리를 할 수 있습니다.

2. Number.isNaN() 메소드 사용하기

ES6부터는 Number 객체에 isNaN() 메소드가 추가되어, Number.isNaN() 메소드를 사용하여 NaN 여부를 확인할 수 있습니다. 이 방법은 isNaN()보다 정확한 결과를 제공합니다. 아래의 예제 코드를 참고해보세요.

let num = parseInt("Hello World"); // NaN
if(Number.isNaN(num)) {
    console.log("변수 num은 NaN 입니다.");
} else {
    console.log("변수 num은 숫자입니다.");
}

위의 코드에서 Number.isNaN() 메소드를 사용하여 num 변수의 값을 확인하고, 결과에 따라 적절한 처리를 할 수 있습니다.

3. typeof를 사용하여 NaN 확인하기

JavaScript에서 NaN은 숫자 타입입니다. 따라서 typeof 연산자를 사용하여 변수의 타입을 확인할 수 있습니다. 아래의 예제 코드를 참고해보세요.

let num = parseInt("Hello World"); // NaN
if(typeof num === 'number' && isNaN(num)) {
    console.log("변수 num은 NaN 입니다.");
} else {
    console.log("변수 num은 숫자입니다.");
}

위의 코드에서 typeof 연산자를 사용하여 num 변수의 타입을 확인하고, isNaN() 함수를 사용하여 NaN 여부를 확인합니다. 결과에 따라 적절한 처리를 할 수 있습니다.

결론

NaN 오류는 유효하지 않은 숫자 연산 또는 반환 값이 발생할 때 발생하는데, isNaN() 함수, Number.isNaN() 메소드, typeof 연산자를 활용하여 NaN을 처리할 수 있습니다. 이 방법들을 잘 활용하여 코드에 예외 처리를 추가하고, NaN 오류에 대비하는 것이 좋습니다.

참고 자료