Number.MAX_SAFE_INTEGER
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.MAX_SAFE_INTEGER ã¯éçãã¼ã¿ããããã£ã§ãJavaScript ã«ãããå®å
¨ãªæ´æ°ã®æå¤§å¤ (253 â 1) ã表ãã¾ãã
ãã£ã¨å¤§ããªæ´æ°ã«ã¯ã BigInt ã使ç¨ãããã¨ãæ¤è¨ãã¦ãã ããã
試ãã¦ã¿ã¾ããã
const x = Number.MAX_SAFE_INTEGER + 1;
const y = Number.MAX_SAFE_INTEGER + 2;
console.log(Number.MAX_SAFE_INTEGER);
// äºæ³ãããçµæ: 9007199254740991
console.log(x);
// äºæ³ãããçµæ: 9007199254740992
console.log(x === y);
// äºæ³ãããçµæ: true
å¤
9007199254740991 ï¼9,007,199,254,740,991ãã¾ã㯠~9 åå
ï¼ã
Number.MAX_SAFE_INTEGER ã®ããããã£å±æ§ | |
|---|---|
| æ¸è¾¼å¯è½ | ä¸å¯ |
| åæå¯è½ | ä¸å¯ |
| è¨å®å¯è½ | ä¸å¯ |
解説
å精度浮åå°æ°ç¹åæ°å¤ã¯ä»®æ°é¨ã表ããã®ã« 52 ããããããªããããå®å
¨ã«è¡¨ç¾ã§ããæ´æ°ã¯ -(253 â 1) 㨠253 â 1 ã¨ã®éã§ãããã®æèã§ç¤ºãã¦ãããå®å
¨ãã¨ã¯ãæ´æ°ãæ£ç¢ºã«è¡¨ç¾ããæ£ããæ¯è¼ããè½åãæãã¾ãããã¨ãã°ã Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2 ã¯ãæ°å¦çã«ã¯ä¸æ£ç¢ºã§ãã true ã¨è©ä¾¡ããã¾ãã詳細ã«ã¤ãã¦ã¯ Number.isSafeInteger() ãè¦ã¦ãã ããã
MAX_SAFE_INTEGER 㯠Number ã®éçãªããããã£ãªã®ã§ãæ°å¤ã®ããããã£ã¨ãã¦ã§ã¯ãªãã常㫠Number.MAX_SAFE_INTEGER ã¨ãã¦ä½¿ãããã«ãã¦ãã ããã
ä¾
>MAX_SAFE_INTEGER ã®è¿å¤
Number.MAX_SAFE_INTEGER; // 9007199254740991
MAX_SAFE_INTEGER 㨠EPSILON ã®é¢ä¿
Number.EPSILON 㯠2-52 ã§ããã MAX_SAFE_INTEGER 㯠253 - 1 ã§ããã©ã¡ããä»®æ°é¨ã®å¹
ã§ãã 53 ãããï¼æä¸ä½ãããã¯å¸¸ã« 1ï¼ããæ¥ã¦ãã¾ããããããä¹ç®ããã¨ã2 ã«ã¨ã¦ãè¿ãï¼ãããçããã¯ãªãï¼å¤ãå¾ããã¾ãã
Number.MAX_SAFE_INTEGER * Number.EPSILON; // 1.9999999999999998
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-number.max_safe_integer> |