了解 JavaScript Number 物件的 isSafeInteger() 方法

如果數字超過安全整數的範圍,則可能滿足 Number.isInteger(),但不滿足 Number.isSafeInteger(),這已在上面解釋過。

因此,大於 2^53 和小於 -2^53 的數字是不安全的:

Number.isSafeInteger(Math.pow(2, 53)) // false
Number.isSafeInteger(Math.pow(2, 53) - 1) // true
Number.isSafeInteger(Math.pow(2, 53) + 1) // false
Number.isSafeInteger(-Math.pow(2, 53)) // false
Number.isSafeInteger(-Math.pow(2, 53) - 1) // false
Number.isSafeInteger(-Math.pow(2, 53) + 1) // true