반응형
Number.isFinite()
메서드는 주어진 값이 유한한 숫자인지 판별하는 데 사용됩니다. Number.isFinite()
는 값이 숫자이고 유한한 값일 때만 true
를 반환합니다. 그렇지 않으면 false
를 반환합니다. 이 메서드는 NaN, Infinity
, -Infinity
와 같은 무한대 값을 제외하고 모든 숫자에 대해 true
를 반환합니다.
1. Number.isFinite()
메서드의 구문
Number.isFinite(value)
- value: 검사할 값.
2. 반환 값
true
: 값이 유한한 숫자인 경우.false
: 값이 유한하지 않거나 숫자가 아닌 경우.
3. 예제
다양한 값에 대해 Number.isFinite()
를 사용하여 결과를 확인해보겠습니다.
1. 기본 사용 예제
console.log(Number.isFinite(25)); // true: 25는 유한한 숫자
console.log(Number.isFinite(-25)); // true: -25는 유한한 숫자
console.log(Number.isFinite(0)); // true: 0은 유한한 숫자
console.log(Number.isFinite(3.14)); // true: 3.14는 유한한 숫자
console.log(Number.isFinite(Infinity)); // false: Infinity는 무한대
console.log(Number.isFinite(-Infinity)); // false: -Infinity는 무한대
console.log(Number.isFinite(NaN)); // false: NaN은 숫자가 아님
console.log(Number.isFinite('42')); // false: '42'는 문자열
console.log(Number.isFinite(true)); // false: true는 숫자가 아님
2. 다양한 데이터 타입에 대한 예제
// 정수 및 부동 소수점 숫자
console.log(Number.isFinite(100)); // true
console.log(Number.isFinite(-100.123)); // true
// 문자열
console.log(Number.isFinite('100')); // false: 문자열
console.log(Number.isFinite('hello')); // false: 문자열
// 불리언
console.log(Number.isFinite(true)); // false
console.log(Number.isFinite(false)); // false
// 객체
console.log(Number.isFinite({})); // false
console.log(Number.isFinite([])); // false
// 특수 값
console.log(Number.isFinite(Infinity)); // false
console.log(Number.isFinite(-Infinity)); // false
console.log(Number.isFinite(NaN)); // false
4. Number.isFinite()
vs isFinite()
JavaScript에는 Number.isFinite()
와 비슷한 이름을 가진 전역 함수 isFinite()
도 있습니다. 그러나 이 두 함수는 약간 다르게 동작합니다.
Number.isFinite()
: 전달된 값이 숫자가 아니면 무조건false
를 반환합니다. 타입 변환을 수행하지 않습니다.isFinite()
: 전달된 값이 숫자로 변환 가능한 경우, 타입 변환 후 유한한 숫자인지 여부를 판단합니다.
1. 비교 예제
console.log(Number.isFinite('123')); // false: '123'은 문자열
console.log(isFinite('123')); // true: '123'은 숫자로 변환 가능하므로 true
console.log(Number.isFinite('abc')); // false: 'abc'는 숫자로 변환할 수 없음
console.log(isFinite('abc')); // false: 'abc'는 숫자로 변환할 수 없음
console.log(Number.isFinite(null)); // false: null은 숫자가 아님
console.log(isFinite(null)); // true: null은 0으로 변환 가능하므로 true
5. 실용적인 예제
Number.isFinite()
를 사용하여 배열에서 유한한 숫자만 필터링하는 예제입니다.
let mixedArray = [10, 20, '30', null, Infinity, NaN, 'hello', 40];
let finiteNumbers = mixedArray.filter(Number.isFinite);
console.log(finiteNumbers); // 출력: [10, 20, 40]
이 예제에서 Number.isFinite
메서드를 Array.prototype.filter()
와 함께 사용하여 배열에서 유한한 숫자만 필터링합니다.
6. 요약
Number.isFinite()
는 주어진 값이 유한한 숫자인지 여부를 검사합니다.- 값이 숫자 타입이 아니거나 무한대(
Infinity
,-Infinity
) 또는 NaN인 경우false
를 반환합니다. - 타입 변환을 수행하지 않기 때문에,
Number.isFinite()
는 숫자 타입이 아닌 경우에도false
를 반환합니다. isFinite()
는Number.isFinite()
와 달리, 타입 변환 후 유한한 숫자인지 여부를 판단합니다.
Number.isFinite()
는 주어진 값이 유한한 숫자인지 안전하게 검사할 수 있는 도구로, 숫자와 관련된 오류를 방지하는 데 유용합니다.
반응형
'언어 > Javascript' 카테고리의 다른 글
[ JavaScript ] var, let, const 변수 선언하기 (0) | 2024.09.05 |
---|---|
[ JavaScript ] Visual Code에서 바로 실행해 보자. (0) | 2024.06.17 |
[ JavaScript ] 'BigInt' 사용하기 (0) | 2024.06.09 |
[ JavaScript ] 숫자 다루기 (0) | 2024.06.09 |
[ JavaScript ] 데이터 타입 알아보기 (0) | 2024.06.09 |