[javascript] Infinity와 NaN의 대체 값 선택 기준
자바스크립트에서 Infinity
와 NaN
은 수학적으로 정의되지 않은 값으로 사용됩니다. 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
가 반환됩니다. 이때, 우리는 Infinity
를 Number.MAX_VALUE
로 대체합니다.
2. NaN 대체 값 선택 기준
만약 연산 결과가 NaN
이라면, 대체 값으로 0
이나 다른 적합한 값을 선택할 수 있습니다. 선택하는 대체 값은 해당 상황에 따라 다르며, 주로 산술 연산에 대한 기본값인 0
이 선택될 수 있습니다.
let result = someNumber / anotherNumber;
if (isNaN(result)) {
result = 0;
}
위 예시에서, someNumber
를 anotherNumber
로 나누어 NaN
이 반환될 경우, 우리는 이를 0
으로 대체합니다.
이러한 대체 값 선택 기준을 통해 코드를 안정적으로 작성할 수 있으며, 예상치 못한 결과로부터 프로그램을 보호할 수 있습니다.
잠정적인 업데이트, 기능 빌드, 혹은 고치기들은 MDN Web Docs에 게시된 자료를 참고하였습니다.