JavaScript Number研究02_静态属性_EPSILON_MAX_SAFE_INTEGER_MAX_VALUE_MIN_SAFE_VALUE_MIN_VALUE_NaN

JavaScript Number研究02:静态属性——EPSILON、MAX_SAFE_INTEGER、MAX_VALUE、MIN_SAFE_INTEGER、MIN_VALUE、NaN

在JavaScript中,Number对象是处理数值的核心。除了基本的数值操作外,Number还提供了一系列静态属性,帮助我们更好地理解和操作数字。在本篇文章中,我们将深入探讨以下静态属性:

  • Number.EPSILON
  • Number.MAX_SAFE_INTEGER
  • Number.MAX_VALUE
  • Number.MIN_SAFE_INTEGER
  • Number.MIN_VALUE
  • Number.NaN

通过对这些属性的了解,我们可以更有效地处理浮点数精度问题、整数安全范围,以及特殊数值NaN等。


Number.EPSILON

定义

Number.EPSILON表示能够表示的两个浮点数之间的最小差值,约等于2.220446049250313e-16。这是JavaScript中1和大于1的最小浮点数之间的差值。

用途

由于浮点数的精度限制,直接比较两个浮点数可能会导致意想不到的结果。Number.EPSILON可以用于判断两个数字在可接受的误差范围内是否相等。

示例

function numbersApproximatelyEqual(a, b) {
  return Math.abs(a - b) < Number.EPSILON;
}

console.log(0.1 + 0.2 === 0.3); // false
console.log(numbersApproximatelyEqual(0.1 + 0.2, 0.3)); // true

Number.MAX_SAFE_INTEGER

定义

Number.MAX_SAFE_INTEGER是JavaScript中能够安全表示的最大整数,值为9007199254740991(即 2 53 − 1 2^{53} - 1 2531)。

用途

超过此值的整数在JavaScript中无法精确表示,可能会导致计算错误。因此,在处理大整数时,应谨慎使用,并考虑使用大整数库或BigInt类型。

示例

console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991
console.log(Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2); // true

Number.MIN_SAFE_INTEGER

定义

Number.MIN_SAFE_INTEGER是JavaScript中能够安全表示的最小整数,值为-9007199254740991(即 − ( 2 53 − 1 ) -(2^{53} - 1) (2531))。

用途

同样地,小于此值的负整数无法精确表示,需要谨慎处理。

示例

console.log(Number.MIN_SAFE_INTEGER); // -9007199254740991
console.log(Number.MIN_SAFE_INTEGER - 1 === Number.MIN_SAFE_INTEGER - 2); // true

Number.MAX_VALUE

定义

Number.MAX_VALUE是JavaScript中能够表示的最大正数,约为1.7976931348623157e+308

用途

大于Number.MAX_VALUE的数字在JavaScript中将被表示为Infinity

示例

console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
console.log(Number.MAX_VALUE * 2); // Infinity

Number.MIN_VALUE

定义

Number.MIN_VALUE是JavaScript中能够表示的最小正数,约为5e-324

用途

这是接近0的最小正数,但不是最小的负数。小于Number.MIN_VALUE的正数将在JavaScript中被下舍入为0

示例

console.log(Number.MIN_VALUE); // 5e-324
console.log(Number.MIN_VALUE / 2); // 0

Number.NaN

定义

Number.NaN表示“非数字”(Not-A-Number),用于表示无法被解析为数字的结果。

用途

在计算过程中,如果操作无法产生有效数字结果(例如0 / 0parseInt('abc')),将返回NaN。需要注意的是,NaN不等于任何值,包括它自身。

示例

console.log(Number.NaN); // NaN
console.log(0 / 0); // NaN
console.log(parseInt('abc')); // NaN
console.log(NaN === NaN); // false

正确判断NaN的方法:

console.log(isNaN(NaN)); // true
console.log(Number.isNaN(NaN)); // true

参考资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

It'sMyGo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值