Number.isFinite() 함수는 전달받은 값이 유한수(finite number)인지 여부를 판별하는 JavaScript 내장 메서드입니다. 인자로 받은 값이 유한한 숫자이면 true를 반환하고, 무한대(Infinity), NaN 또는 숫자가 아닌 값이면 false를 반환합니다.
이 함수는 전역 함수인 isFinite()와 달리 값을 숫자로 강제 변환하지 않습니다. 따라서 문자열처럼 숫자가 아닌 타입이 전달되면 항상 false를 반환하므로, 더 엄격한 타입 검사가 필요할 때 유용합니다.
구문
Number.isFinite(100/0);
예제
아래 예제에서는 다양한 값에 대해 isFinite()와 Number.isFinite()의 결과를 비교해 볼 수 있습니다.
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var result1 = Math.min();
document.write(isFinite(result1));
document.write("<br>");
var result2 = Number.isFinite(100/0);
document.write(result2);
document.write("<br>");
var result3 = Math.max(25, 36, 862);
document.write(isFinite(result3));
document.write("<br>");
document.write(isFinite("Hello"));
</script>
</body>
</html>
출력 결과
false false true false
결과 해설
- false –
Math.min()을 인자 없이 호출하면Infinity가 반환되므로 유한수가 아닙니다. - false –
100/0은Infinity로 평가되므로Number.isFinite()는 false를 반환합니다. - true –
Math.max(25, 36, 862)의 결과인 862는 유한수입니다. - false – 문자열 "Hello"는 숫자가 아니므로 false를 반환합니다.