23 of 264 menu

isFinite 함수

isFinite 함수는 매개변수가 유한한 숫자인지(즉, 문자열, 배열 등이 아니고 양의 무한대 또는 음의 무한대가 아닌지) 확인합니다.

이 함수의 작동 방식: 숫자가 양의 무한대 또는 음의 무한대(즉, Infinity)이거나 숫자가 아닌 경우(즉, NaN) false를 반환하고, 다른 모든 경우에는 true를 반환합니다. 즉, 문자열, 배열 등은 NaN으로 변환되어 false를 반환합니다.

그러나 예외가 있습니다: 빈 문자열 ''는 true를 반환하고, 공백으로 구성된 문자열 '    '도 true를 반환하며, null는 true를 반환하고, truefalse 값에 대해서도 true가 반환됩니다.

이는 이러한 값들이 NaN이 아닌 숫자로 변환되기 때문입니다. 공백 문자열, 논리 값 및 특수 값을 숫자로 간주하지 않는 정확한 숫자 확인이 필요하다면 다음 isNumeric 함수를 사용하세요:

function isNumeric(num) { return !isNaN(parseFloat(num)) && isFinite(num); };

이 함수가 어떻게 작동하는지 알아봅시다. isFinite 함수는 매개변수를 숫자로 변환하고, Infinity, -Infinity 또는 NaN가 아니면 true를 반환합니다. 따라서 오른쪽 부분은 분명히 숫자가 아닌 것들을 걸러내지만, true, false, null, 빈 문자열 '' 및 공백 문자열과 같은 값들은 숫자로 올바르게 변환되므로 남깁니다.

이러한 값들을 걸러내려면 parseFloat 함수가 필요합니다. 이 함수는 true, false, null, '', '   '에 대해 NaN를 반환합니다. parseFloat 함수는 매개변수를 문자열로 변환하는 방식으로 작동합니다. 즉, true, false, null'true', 'false', 'null'가 되고, 그런 다음 문자열에서 숫자를 읽어냅니다. 이때 빈 문자열과 공백 문자열은 NaN를 생성합니다. 그런 다음 parseFloat의 결과는 !isNaN을 사용하여 NaN 대신 true 또는 false를 얻도록 처리됩니다. 결과적으로 숫자 문자열과 일반 숫자를 제외한 모든 것이 걸러집니다.

구문

isFinite(값);

예제

매개변수가 숫자이므로 지금 isFinitetrue를 출력합니다:

let num = 3; console.log(isFinite(num));

코드 실행 결과:

true

예제

매개변수가 숫자가 아니므로 지금 isFinitefalse를 출력합니다:

let num = 'abcde'; console.log(isFinite(num));

코드 실행 결과:

false

예제

매개변수가 무한대이므로 지금 isFinitefalse를 출력합니다:

let num = Infinity; console.log(isFinite(num));

코드 실행 결과:

false

예제

1/0는 본질적으로 Infinity(무한대)이므로 지금 isFinitefalse를 출력합니다:

let num = 1 / 0; console.log(isFinite(num));

코드 실행 결과:

false

예제

숫자가 아닌 빈 문자열은 예외이므로 지금 isFinitetrue를 출력합니다:

let num = ''; console.log(isFinite(num));

코드 실행 결과:

true

참고 항목

  • isNaN 함수,
    NaN을 확인합니다
  • typeof 연산자,
    데이터 타입을 확인합니다
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부