[javascript] Infinity와 NaN의 응용 방식

자바스크립트에서 Infinity와 NaN은 수치 연산에 관련된 특별한 값을 나타냅니다. 이러한 값들은 다양한 수학적 계산 및 비교에서 사용될 수 있습니다.

Infinity

Infinity는 양의 무한대를 표현합니다. 이 값은 어떤 숫자보다도 크기 때문에, 대부분 무한대로 취급됩니다. 예를 들어, 어떤 수를 Infinity로 나누면, 무한히 작은 값을 얻을 것입니다.

const largeNumber = 1.7e308; // 어떤 큰 수
const result = largeNumber * Infinity; // Infinity

NaN

NaN은 숫자가 아님(Not a Number)을 나타내는 값으로, 유효하지 않은 수치 연산의 결과로 생성됩니다. 예를 들어, 0을 0으로 나누거나 문자열을 숫자로 변환할 때 발생합니다.

const result = 0 / 0; // NaN
const invalidNumber = Number('hello'); // NaN

활용

Infinity와 NaN은 주로 수치 계산에서 발생하는 에러를 처리하거나 특정한 값으로 표시하는데 사용됩니다. 예를 들어, 함수에서 예외적인 경우에 Infinity나 NaN을 반환하여 호출자에게 특정한 정보를 전달할 수 있습니다.

function calculateRatio(x, y) {
  if (y === 0) {
    return Infinity; // y가 0일 경우 무한으로 처리
  } else {
    return x / y; // x를 y로 나눈 비율 반환
  }
}

또한, 수치 계산 결과가 정의되지 않는 경우에 NaN을 사용하여 해당 값이 유효하지 않음을 나타낼 수 있습니다.

function calculateSquareRoot(x) {
  if (x < 0) {
    return NaN; // 음수의 제곱근은 유효하지 않음
  } else {
    return Math.sqrt(x); // x의 제곱근 반환
  }
}

이러한 방식으로, Infinity와 NaN은 수학적인 개념을 자바스크립트 프로그래밍에 적용하는 데 유용하게 활용될 수 있습니다.

참고 자료: