> Непопулярное мнение: JavaScript единственный язык, который сделал правильные числа. 64 бита, которые одновременно и целое до 53-х бит, и с плавающей точкой если больше.
Ну просто подумайте: в какой жизненной ситуации вам нужны целые больше 53-х бит? Это 9*10^15, девять ебучих квадриллионов, девять тыщ триллионов то есть. Чтобы представлять что? Вокруг нас просто нет предметов в таком количестве (кроме размера node_modules). Девять тыщ терабайт, если в байтах.
То есть 53 бита достаточно каждому. Даже в указателях только 48 используется (хаха, а вы что, думали 64? Щас).
Ну а иметь один числовой тип вместо двух как будто тоже гениально? Все в выигрыше, никто не пострадал.
Почему же тогда подход JS не нравится «настоящим программистам»? Да потому что все остальные наловчились в 64 бита рассовывать разное, нужно им это или не нужно.
То есть по сути единственная причина, почему это неудобно, это другие языки, которые пришли раньше и у которых конвенция другая. Они может все 64 бита и не используют, но _потенциально_ могут, и в итоге приходится под них подстраиваться.
А нужно наоборот, чтобы все подстраивались под JavaScript (который на самом деле IEEE 754 double-precision float, если вам так больше нравится).
Но как же битовые операции, скажете вы? Как мне всякие там сдвиги считать? Ну чувак, битовые операции на числах это страшный хак, раз уж мы о типах заговорили. Они должны на байтах делаться, а не на числах.
А всякие int64/uint64 это от лукавого. Должен быть только number64.