JavaScript中是否存在整数类型?

Jay*_*per 38 javascript integer

我刚刚开始学习Javascript,我立即对Mozilla的重新引入JavaScript(JS教程)中看似矛盾的陈述感到困惑.

一方面:

" 在JavaScript中没有整数这样的东西,所以如果你习惯于用C或Java进行数学运算,你必须要小心算术."

另一方面(紧接该段后):

"实际上,整数值被视为32位整数(并在某些浏览器实现中以这种方式存储),这对于逐位运算非常重要."

"您可以使用内置的parseInt()函数将字符串转换为整数."

那么,JavaScript中存在整数这样的东西还是不存在?

zer*_*kms 28

JS中只有Number数据类型代表数字.

在内部,它实现为IEEE 754双精度浮点数.

这意味着 - 从技术上讲,没有专用数据类型表示整数.

实际上,这意味着我们可以安全地仅使用上述标准可安全表示的数字.它包括范围内的整数值:[-9007199254740991; 9007199254740991].两个值都定义为常量:Number.MIN_SAFE_INTEGERNumber.MAX_SAFE_INTEGER相应地.


Mat*_*zen 6

我应该提到的是,实际上有一个类型BigInt代表一个真正的整数。

但是,由于它不能与之一起使用,Number并且通常仅是用于较大数字的一个好主意,因此我不建议这样做。

我认为这值得一提。

  • 也可以写成`var n = 1337n`。 (3认同)

sab*_*bir 6

我相信提问者已经找到了他/她的答案。但是对于像我这样的其他人,您可以使用Number.isInteger()方法在 JavaScript 中检查数字是否为整数MDN