var a = 1e16,
b = a + 1;
console.log(b - a); // 0
Я так понимаю, JS не может правильно работать с большими числами. Если в приведенном примере заменить e16 на e15, результат будет правильный (1). Тогда какой смысл в константе Number.MAX_VALUE, если с таким огромным числом нельзя произвести простую арифметику.