Как JavaScript обрабатывает большие целые числа (более 52 бит)?
Рассмотрим этот код (узел v5.0.0)
const a = Math.pow(2, 53)
const b = Math.pow(2, 53) + 1
const c = Math.pow(2, 53) + 2
console.log(a === b) // true
console.log(a === c) // false
Зачемa === b
правда?
Какое максимальное целочисленное значение может обрабатывать javascript?
Я реализую генератор случайных целых чисел до 2 ^ 64. Есть ли какие-либо подводные камни, о которых я должен знать?