[javascript] Infinity와 NaN의 대체 값 선택 기준

자바스크립트에서 InfinityNaN은 수학적으로 정의되지 않은 값으로 사용됩니다. Infinity는 무한대를 나타내고, NaN은 숫자가 아님을 나타냅니다. 프로그램에서 이러한 값들을 다뤄야 할 때, 대체 값을 선택하는 기준을 알고 있어야 합니다.

1. Infinity 대체 값 선택 기준

Infinity를 다른 값으로 대체하는 경우, 대체 값은 보통 Number.MAX_VALUE로 선택됩니다. Number.MAX_VALUE는 자바스크립트에서 나타낼 수 있는 가장 큰 숫자를 나타냅니다.

예를 들어:

let result = someNumber / 0;
if (result === Infinity) {
  result = Number.MAX_VALUE;
}

위 예시에서, someNumber를 0으로 나누면 Infinity가 반환됩니다. 이때, 우리는 InfinityNumber.MAX_VALUE로 대체합니다.

2. NaN 대체 값 선택 기준

만약 연산 결과가 NaN이라면, 대체 값으로 0이나 다른 적합한 값을 선택할 수 있습니다. 선택하는 대체 값은 해당 상황에 따라 다르며, 주로 산술 연산에 대한 기본값인 0이 선택될 수 있습니다.

let result = someNumber / anotherNumber;
if (isNaN(result)) {
  result = 0;
}

위 예시에서, someNumberanotherNumber로 나누어 NaN이 반환될 경우, 우리는 이를 0으로 대체합니다.

이러한 대체 값 선택 기준을 통해 코드를 안정적으로 작성할 수 있으며, 예상치 못한 결과로부터 프로그램을 보호할 수 있습니다.

잠정적인 업데이트, 기능 빌드, 혹은 고치기들은 MDN Web Docs에 게시된 자료를 참고하였습니다.