Типы данных -> Числа -> [ Возможно ] Неверные утверждения
https://learn.javascript.ru/number
О представлении чисел
В современном JavaScript существует два типа чисел:
- Обычные числа в JavaScript хранятся в 64-битном формате IEEE-754, который также называют «числа с плавающей точкой двойной точности» [...]
- BigInt числа дают возможность работать с целыми числами произвольной длины. [...]
Если это глава описывающая стандарт ECMA то она обязана содержать пояснения относительно работы с числами Int32 и UInt32 https://tc39.es/ecma262/#sec-ecmascript-data-types-and-values
Some ECMAScript operators deal only with integers in specific ranges such as -2^31 through 2^31 - 1, inclusive, or in the range 0 through 2^16 - 1, inclusive. These operators accept any value of the Number type but first convert each such value to an integer value in the expected range. See the descriptions of the numeric conversion operations in 7.1.
Если это глава учебника, то правильно было бы добавить, как минимум, ремарку о том, что внутренняя логика JavaScript оперирует большим, чем заявлено выше, количеством типов чисел, среди которых наиболее значимым являются числа Int и UInt существующие в пределах 2^32.
Что эти числа подчиняются кардинально иной логике нежели описанной стандартом IEEE754.
Что современные реализации JS стараются в первую очередь оперировать именно этими числами, и переходят к представлению числа с плавающей точкой только в ситуации, когда другого выхода не остается.
Что обосновывается радикальный отличием (на порядки) в производительности между математикой с числами и 2^32 и представлением с плавающей точкой.
Привести примеры когда происходит одно и другое. Например:
const a=1; //Приведет к созданию внутреннего представления Int32
const b=2; //Так же приведет к созданию внутреннего представления Int32
const c = a+b; // Так же будет существовать в этом представлении, до тех пор пока сумма a и b будет в пределах 2^31
const e=0; // Так же будет иметь представление int32
// а вот
const f=-0; //будет переведено к предеставлению с плавающей точкой строго в соответствии с IEEE754, где и нормализовано существование нуля с отрицательным знаком.
О отрицательном и положительном нуле
Другим забавным следствием внутреннего представления чисел является наличие двух нулей: 0 и -0.
Это не забавное следствие. Это норма описанная стандартом IEEE754 в том числе описанная и в ECMA. Ее существование это не блажь или следствие ошибочной архитектуры, но необходимость для обозначения отрицательной и положительной бесконечной малой величины для реализации операций с бесконечно малыми или бесконечно большими величинами в рамках спецификации IEEE754