Number.MAX_SAFE_INTEGER 상수는 자바스크립트에서 안전한 최대 정수값을 나타냅니다. (253 - 1).

Property attributes of Number.MAX_SAFE_INTEGER
Writable no
Enumerable no
Configurable no

설명

MAX_SAFE_INTEGER 상수는 9007199254740991 (9,007,199,254,740,991 또는 약 9000조) 값을 갖고 있습니다. 이 값이 존재하는 이유는 자바스크립트가 IEEE 754에 기술된 배정밀도 부동소숫점 형식 숫자체계를 사용하기 때문이며, 이로 인해 -(253 - 1)253 - 1 사이의 수만 안전하게 표현할 수 있습니다.

여기서의 안전함이란 정수를 정확하고 올바르게 비교할 수 있음을 의미합니다. 예를 들어 Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2는 참으로 평가되며 이는 수학적으로 올바르지 않습니다. 더 자세한 내용에 대해선 Number.isSafeInteger()를 참고하세요.

MAX_SAFE_INTEGERNumber의 정적 속성이기 때문에, 생성한 Number 객체의 속성이 아니라 Number.MAX_SAFE_INTEGER 형식으로 사용해야 합니다.

예제

Number.MAX_SAFE_INTEGER // 9007199254740991
Math.pow(2, 53) - 1     // 9007199254740991

폴리필

if (!Number.MAX_SAFE_INTEGER) {
    Number.MAX_SAFE_INTEGER = Math.pow(2, 53) - 1; // 9007199254740991
}

명세

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Number.MAX_SAFE_INTEGER' in that specification.
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
The definition of 'Number.MAX_SAFE_INTEGER' in that specification.
Draft  

브라우저 호환성

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Basic supportChrome Full support 34Edge Full support YesFirefox Full support 31IE No support NoOpera Full support YesSafari Full support 9WebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 31Opera Android Full support YesSafari iOS Full support 9Samsung Internet Android Full support Yesnodejs Full support 0.12

Legend

Full support  
Full support
No support  
No support

같이 보기

문서 태그 및 공헌자

이 페이지의 공헌자: urty5656, kirrie
최종 변경자: urty5656,