JavaScript Number의 isInteger() vs. isSafeInteger() vs. isFinite()
5809 단어 webdevtypescriptjavascript
Number.isInteger()
, Number.isSafeInteger()
및 Number.isFinite()
의 차이점을 알고 싶습니까? 아래 비교표를 확인하십시오.어느 것을 사용해야 하는지는 다음과 같습니다.
Number.isFinite()
Number.isInteger()
Number.isSafeInteger()
Number.isFinite()
는 숫자로 절대 허용하지 않는 항목을 허용하지 않고 가장 덜 제한적입니다. Number.isSafeInteger()
는 가장 제한적이며 사용 사례에 적합한 선택일 수도 있고 아닐 수도 있습니다.비교표
그들은 모두 숫자가 아닌 모든 유형과 함께
Infinity
, BigInt
및 NaN
를 거부합니다. 차이점이 강조 표시됩니다.실험하려는 경우 해당 테이블을 만드는 데 사용한 코드는 다음과 같습니다.
const table = [
// From most negative to most positive
-Infinity,
Number.MIN_VALUE,
Number.MIN_SAFE_INTEGER,
-1.0000000000000001,
-1.000000000000001,
-1.59,
-1.0,
-1,
-0.1,
-0,
0,
0.1,
1,
1.0,
1.59,
1.000000000000001,
1.0000000000000001,
Math.pow(2, 53),
Math.pow(2, 53) - 1,
Number.MAX_SAFE_INTEGER,
Number.MAX_VALUE,
Infinity,
// Maybe?
BigInt(9007199254740991),
Number.EPSILON,
Math.PI,
// None of these are gonna pass
NaN,
'1',
null,
undefined,
false,
true,
[],
{}
].reduce((acc, val) => {
acc.push({
value: val,
'Number.isInteger()': Number.isInteger(val),
'Number.isSafeInteger()': Number.isSafeInteger(val),
'Number.isFinite()': Number.isFinite(val)
})
return acc
}, []);
console.table(table)
Reference
이 문제에 관하여(JavaScript Number의 isInteger() vs. isSafeInteger() vs. isFinite()), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jfbrennan/javascript-number-s-isinteger-vs-issafeinteger-vs-isfinite-2b4e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)