我想知道为什么ECMA脚本不支持开箱即用的整数。当然我知道有一些整数(在这个问题的答案中有一个很好的总结:Difference between floats and ints in Javascript?)。但仍然没有"真实"整数。浮动作为整体的问题非常丰富。那么为什么它不支持整数,为什么这不能用ECMA脚本6修复?
答案 0 :(得分:14)
该语言是在10天内设计和实施的,因此最初只是时间限制问题。来自horses mouth:
是的,从一开始它就在那里。但是bignums不在牌中。 JS必须看起来像Java"只有不那么多,是Java的愚蠢孩子兄弟或男孩 - 人质伙伴。另外,我必须在十天内完成或者比JS更糟糕的事情。
默认情况下为double,引擎盖下为int,而按位操作为32位int(如果使用>>>则为uint)。我责备Java。
我不知道为什么它不在ES2015的桌面上。对我来说,删除样板似乎有很多工作,但我猜不出来。 Brendan Eich在推特上非常活跃,你可能只是问他。 :)
答案 1 :(得分:4)
真的不能代表Harmony,道格拉斯克罗克福德说,他们有兴趣在未来的ES版本中添加另一种数字类型。然而,他还说,增加一个新的数字类型是对语言进行暴力,语言的简单性是可取的。
https://www.youtube.com/watch?v=V1_Y-KVhZ9Q
他基本上开始谈论" Number"从13:52到26:00