В JavaScript нет отдельного типа данных для целых чисел, потому что язык использует 64-битный формат IEEE-754, который хранит произвольное число в виде трёх значений: 1 бит на знак числа, 52 бита значения числа и ещё 11 бит местоположения точки. 2
Из-за того, что положение точки в числе хранится отдельным значением, формат называется числом с плавающей точкой (floating point number). 2 Проблема такого представления в том, что оно не может представить числа абсолютно точно, а только с некоторой погрешностью. 2
Однако с выходом ES2020 в JavaScript появился тип данных BigInt, который позволяет работать с целыми числами любой длины. 4