Number.MAX_SAFE_INTEGER

Hằng Number.MAX_SAFE_INTEGER biểu diễn giá trị số nguyên an toàn lớn nhất trong JavaScript (253 - 1).

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

Mô tả

Hằng MAX_SAFE_INTEGER có giá trị là 9007199254740991(9,007,199,254,740,991 hay là ~9 triệu tỉ). Nguyên do đằng sau con số đó là do JavaScript sử dụng số thực dấu phẩy động độ chính xác kép được đặc tả trong chuẩn IEEE 754 và chỉ có thể biểu diễn an toàn các số trong khoảng -(253 - 1)253 - 1.

An toàn trong ngữ cảnh này ám chỉ khả năng biểu diễn cũng như so sánh số nguyên một cách chính xác. Chẳng hạn,Number.MAX_SAFE_INTEGER+1 === Number.MAX_SAFE_INTEGER+2 sẽ trả về true, theo toán học thì là sai. Xem Number.isSafeInteger() để biết thêm chi tiết.

Bởi vì MAX_SAFE_INTEGER là một thuộc tính tĩnh của Number, bạn thường dùng nó bằng Number.MAX_SAFE_INTEGER, thay vì tự tạo ra thuộc tính cho object Number.

Ví dụ

Number.MAX_SAFE_INTEGER // 9007199254740991
Number.MAX_SAFE_INTEGER * Number.EPSILON // 2 bởi vì đối với số thực dấu phẩy động, giá trị thực tế chính là the decimal trailing "1"
                                        // ngoại trừ trường hợp có độ chính xác subnormal như là zero (0)

Polyfill

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

Đặc tả

Trình duyệt hỗ trợ

BCD tables only load in the browser

Xem thêm