Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 NaN과 Infinity 이해하기: 예제 코드와 실행 결과

JavaScript에는 두 가지 중요한 특수 숫자 값이 있습니다. 하나는 유효한 숫자가 아님을 나타내는 NaN(Not a Number)이고, 다른 하나는 무한대를 의미하는 Infinity입니다. 예를 들어 어떤 수를 0으로 나누면 Infinity가 반환되고, 숫자로 변환할 수 없는 문자열에 Number() 함수를 적용하면 NaN이 반환됩니다.

다음 코드는 JavaScript에서 NaN과 Infinity가 어떻게 동작하는지 확인할 수 있는 간단한 예제입니다.

예제 코드

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
    body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    }
    .result {
        font-size: 20px;
        font-weight: 500;
    }
</style>
</head>
<body>
<h1>NaN and Infinity in JavaScript</h1>
<div style="color: green;" class="result"></div>
<button class="btn">CLICK HERE</button>
<h3>
Click on the above button to see nan and infinity example
</h3>
<script>
    let btnEle = document.querySelector(".btn");
    let resEle = document.querySelector(".result");
    btnEle.addEventListener("click", () => {
        resEle.innerHTML = "9/0 = " + 9 / 0 + "<br>";
        resEle.innerHTML += 'Number("AJKL") = ' + Number("AJKL") + "<br>";
    });
</script>
</body>
</html>

코드 설명

위 예제에서 버튼을 클릭하면 두 가지 연산 결과가 화면에 표시됩니다. 첫 번째는 9/0 연산으로, JavaScript에서 0으로 나누기는 오류를 발생시키지 않고 Infinity를 반환합니다. 두 번째는 Number("AJKL")로, 알파벳 문자열은 숫자로 변환할 수 없으므로 NaN이 반환됩니다.

실행 결과

위 코드를 실행하면 다음과 같은 초기 화면이 출력됩니다.

JavaScript에서 NaN과 Infinity 이해하기: 예제 코드와 실행 결과

'CLICK HERE' 버튼을 클릭하면 아래 그림처럼 연산 결과가 표시됩니다.

JavaScript에서 NaN과 Infinity 이해하기: 예제 코드와 실행 결과

정리

NaN과 Infinity는 JavaScript의 숫자 타입(Number)에 속하는 특수한 값입니다. Infinity는 산술 연산의 한계를 넘어서거나 0으로 나누었을 때 나타나며, NaN은 유효하지 않은 숫자 연산의 결과로 나타납니다. 참고로 NaN은 자기 자신과도 같지 않은(NaN === NaN은 false) 유일한 값이므로, NaN 여부를 확인할 때는 Number.isNaN() 메서드를 사용하는 것이 안전합니다.