了解 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