Есть такая фигня Number.MAX_SAFE_INTEGER - максимально безопасное число. Остальное будет представлено "приблизительно".
Ты можешь использовать BigInt, если тебе нужно работать именно с такими большими числами. Но скорее всего этого не нужно и ты что-то делаешь не так.