В Javascript для чисел используется тип double
(8 байт, числа с плавающей запятой). Мне понадобилось создать имитацию одного Delphi приложения при помощи JavaScript. В ходе сего процесса я наткнулся на проблему переполнения 2147483647 + 10
JS
(Double): 2147483657Delphi
(Integer): -2147483639
Создать переменную типа Int в JS нельзя. Но как оказалось привести 2147483657 к - 2147483639 можно без бубнов и плясок добавив побитовое или:
JS
: 2147483647 + 10 | 0 == -2147483639
Спасибо stackoverflow :) Более подробно про логические операторы можно прочесть здесь.