为什么ECMA脚本不提供开箱即用的整数类型?
Why does ECMA script offer no integer type out of the box?
我想知道为什么ECMA脚本不支持开箱即用的整数。当然,我知道有某种类型的整数(在这个问题的答案中有一个很好的总结:Javascript中浮点数和整型的区别?)。但这些仍然不是"实"整数。浮点数作为整型的问题非常多。那么,为什么它不支持整数,为什么ECMA脚本6没有解决这个问题?
该语言的设计和实现在10天内完成,所以它最初是一个时间限制的问题。来自马的嘴:
是的,它从一开始就在那里。但是,bignum是不可能的。JS必须看起来像java一样。更不可能的是,成为爪哇的蠢弟弟或人质助手。另外,我必须在十天内完成,否则会发生比JS更糟糕的事情。
所以默认是双精度,底层是int,位操作是32位int(如果使用>>>则是int)。这都怪Java。
我不知道为什么它不在ES2015的桌面上。对我来说,这似乎是很多工作,以消除样板,但我猜。Brendan Eich在Twitter上很活跃,你可以直接问他。:)
不能真正代表Harmony, Douglas Crockford说他们有兴趣在ES的未来版本中添加另一种数字类型。然而,他也说,增加一个新的数字类型是对语言的暴力,语言的简单性是可取的。
https://www.youtube.com/watch?v=V1_Y-KVhZ9Q他基本上从13:52到26:00开始谈论"数字"
相关文章:
- 使用整数数据类型设置“选择Dropbox值”
- 为什么从字符串到整数的类型转换总是返回“”;0〃;
- 从其控制台将 MongoDB 字段的类型更改为整数
- 如何在JavaScript上处理金融应用程序的数字,它缺少整数类型
- 错误:GM_setValue不支持的类型.支持的类型包括:字符串、布尔值和 32 位整数
- AngularJS 表单验证 - 类型错误:无法设置未定义的属性“整数”
- 如何在节点JS中检查数据类型 - 特别是整数
- 使用jQuery中的整数字符串类型对数组进行排序
- 为什么这不是一个明确的整数类型,以及如何使其明确
- html5数字类型只接受正整数
- javascript中带有无符号32位整数的位移位/类型转换
- 是否存在'JavaScript中没有整数类型
- 将32位整数的非类型数组转换为UInt8Array的最有效方法
- 使用==比较整数和字符串时,JavaScript中的隐式数据类型转换
- Javascript:避免使用null或未定义变量进行字符串到整数或浮点类型转换的异常
- 列的类型是时间戳,不带时区,但表达式的类型是整数
- 为什么ECMA脚本不提供开箱即用的整数类型?
- 类型Int32Array的最高和最低整数
- 如何在javascript中将整数类型转换为金额类型
- JavaScript 类型数组:64 位整数