자바스크립트에서 Infinity 및 NaN은 숫자의 형태가 아닌 값이며, 코드에서 부동 소수점 연산의 결과로 발생합니다. Infinity는 어떠한 수보다 큰 값으로, 양의 무한대를 나타냅니다. NaN은 “Not a Number”의 약자로, 숫자가 아닌 값이라는 것을 나타냅니다.
Infinity
Infinity는 어떠한 수보다 큰 값을 나타냅니다. 다음은 Infinity를 생성하는 코드의 예시입니다.
const infiniteValue = 1 / 0;
console.log(infiniteValue); // Infinity
위 코드에서, 0으로 나누는 연산은 수학적으로 불가능하며, 결과로는 Infinity가 반환됩니다.
NaN
NaN은 “Not a Number”을 의미하며, 숫자가 아닌 값을 나타냅니다. 다음은 NaN을 생성하는 코드의 예시입니다.
const notANumber = 0 / 0;
console.log(notANumber); // NaN
위 코드에서, 0을 0으로 나누는 연산은 정의되지 않으며, 결과로는 NaN이 반환됩니다.
변환 방식
자바스크립트에서는 Infinity와 NaN을 서로 변환할 수 있습니다. 예를 들어, Infinity를 NaN으로 변환하거나, NaN을 Infinity로 변환할 수 있습니다.
Infinity를 NaN으로 변환
const infinityValue = Infinity;
const convertedNaN = Number(infinityValue);
console.log(convertedNaN); // NaN
NaN을 Infinity로 변환
const nanValue = NaN;
const convertedInfinity = Number(nanValue);
console.log(convertedInfinity); // Infinity
위 예시에서, Number()
함수를 사용하여 Infinity와 NaN을 서로 변환하였습니다.
이렇게 자바스크립트에서는 Infinity와 NaN을 서로 변환할 수 있으며, 적절한 상황에 사용될 수 있습니다.
결론
Infinity와 NaN은 자바스크립트에서 숫자가 아닌 값으로써 다양한 수학적 연산에서 사용됩니다. 또한, 자바스크립트에서는 이들을 서로 변환할 수 있어, 유연한 프로그래밍이 가능합니다.
참조: MDN web docs - Infinity, MDN web docs - NaN
위의 글을 작성하였습니다. 추가 질문이 있으시면 언제든지 물어보세요!