[javascript] Infinity와 NaN의 함수 처리 방법
JavaScript에서 Infinity
와 NaN
은 숫자 타입의 두 가지 특별한 값을 나타냅니다. 이러한 값들을 다루는 함수 처리 방법에 대해 알아보겠습니다.
Infinity
Infinity
는 양의 무한대를 나타내는 값으로, 어떠한 숫자를 0으로 나누었을 때, 또는 어떠한 숫자를 무한대에 가까운 수로 나누었을 때 발생합니다. Infinity
는 어떤 수보다도 큰 값을 나타냅니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
const maxNumber = Number.MAX_VALUE; // 1.7976931348623157e+308
const calculatedValue = maxNumber * 2; // Infinity
NaN
NaN
은 “Not-a-Number”을 나타내는 값으로, 숫자가 아닌 값이 숫자 연산에 사용되었을 때 발생합니다. NaN
은 숫자가 아닌 값을 나타내며, 어떠한 숫자와도 동등하지 않습니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
const result = 0 / 0; // NaN
const invalidOperation = "hello" / 5; // NaN
함수 처리 방법
isFinite 함수
isFinite
함수는 전달된 값이 유한한지 검사하고, 유한한 숫자인 경우 true
를 반환합니다. Infinity
나 NaN
과 같이 유한하지 않은 값인 경우 false
를 반환합니다.
console.log(isFinite(10)); // true
console.log(isFinite(Infinity)); // false
console.log(isFinite(NaN)); // false
isNaN 함수
isNaN
함수는 전달된 값이 NaN
인지 검사하고, NaN
인 경우 true
를 반환합니다.
console.log(isNaN(0 / 0)); // true
console.log(isNaN("hello" / 5)); // true
console.log(isNaN("123")); // false
결론
Infinity
와 NaN
은 JavaScript에서 특별한 숫자 값을 나타내며, isFinite
와 isNaN
함수를 사용하여 이러한 값을 체크할 수 있습니다. 주의할 점은 NaN
은 자신과 일치하지 않는 유일한 값이기 때문에 동등 연산자(==
)를 사용하여 NaN
을 확인하는 것은 권장되지 않는다는 것입니다.
더 많은 정보는 MDN web docs에서 확인할 수 있습니다.