Number.isSafeInteger()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015ë 9ì.
Number.isSafeInteger() ë©ìëë ì ë¬ë ê°ì´ ìì í ì ì«ê°ì¸ì§ íì¸í©ëë¤.
ìëí´ ë³´ê¸°
function warn(x) {
if (Number.isSafeInteger(x)) {
return "Precision safe.";
}
return "Precision may be lost!";
}
console.log(warn(Math.pow(2, 53)));
// Expected output: "Precision may be lost!"
console.log(warn(Math.pow(2, 53) - 1));
// Expected output: "Precision safe."
ìì í ì ì«ê°ì´ë ë¤ìê³¼ ê°ìµëë¤.
- IEEE-754 ë°°ì ëì ííë¡ ì íí ííë ì ìë ìì´ê³
- IEEE-754 ííì ë§ê² ë°ì¬ë¦¼íë ë¤ë¥¸ ì ìì ê²°ê³¼ê° ìë IEEE-754 íí.
ì를 ë¤ì´, 2^53 - 1ì ìì í ì ìì
ëë¤. ì´ ì ìë ì íí ííë ì ìì¼ë©°, IEEE-754 ë°ì¬ë¦¼ 모ëìì ë¤ë¥¸ ì ì«ê°ì´ ì´ ê°ì ë°ì¬ë¦¼íì§ ììµëë¤. ë°ë©´ì, 2^53 ë ìì íì§ ìì ì ìì
ëë¤. ì´ ì ìë ì íí IEEE-754ë¡ ííë ì ìì§ë§, ì ì 2^53 + 1ì IEEE-754ë¡ ì§ì ííë ì ìì¼ë©° ê°ê¹ì´ ìë¡ ë°ì¬ë¦¼íë ê²ê³¼ 0ì¼ë¡ ë°ì¬ë¦¼íë ê²ì¼ë¡ 2^53ì ë°ì¬ë¦¼í©ëë¤.
ìì í ì ì«ê°ì -(2^53 - 1) ë¶í° 2^53 - 1 ì¬ì´ì 모ë ì ìê°ì¼ë¡ 구ì±ë©ëë¤.
구문
Number.isSafeInteger(testValue);
매ê°ë³ì
testValue-
ìì í ì ìì¸ì§ íì¸í ê°.
ë°í ê°
주ì´ì§ ê°ì´ ìì í ì ì«ê°ì¸ì§ ëíë´ë Boolean.
ìì
Number.isSafeInteger(3); // true
Number.isSafeInteger(Math.pow(2, 53)); // false
Number.isSafeInteger(Math.pow(2, 53) - 1); // true
Number.isSafeInteger(NaN); // false
Number.isSafeInteger(Infinity); // false
Number.isSafeInteger("3"); // false
Number.isSafeInteger(3.1); // false
Number.isSafeInteger(3.0); // true
í´ë¦¬í
Number.isSafeInteger =
Number.isSafeInteger ||
function (value) {
return (
Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER
);
};
ëª ì¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-number.issafeinteger> |
ë¸ë¼ì°ì í¸íì±
ê°ì´ 보기
- ë©ìëê° ìí
Numberê°ì²´. Number.MIN_SAFE_INTEGERNumber.MAX_SAFE_INTEGER