简述JavaScript 中的 NaN 是什么?

在 JavaScript 中,NaN 是一种特殊的 Number 类型,代表 “Not a Number”(不是一个数字)。当我们试图进行某些数学计算但结果并非数值时,JavaScript 就会返回 NaN。以下是一些返回 NaN 的例子:

console.log(Math.sqrt(-1));  // 输出: NaN,因为负数的平方根在实数范围内不存在

console.log(0 / 0);  // 输出: NaN,因为0除以0在数学中是未定义的

console.log('hello' - 1);  // 输出: NaN,因为字符串无法转换为数字进行减法运算

NaN 有一些独特的属性。首先,它是唯一一个不等于自身的值

console.log(NaN == NaN);  // 输出: false
console.log(NaN === NaN);  // 输出: false

因此,你不能使用等号(= = 或 = = =)来检查一个值是否是 NaN。你应该使用 JavaScript 的全局函数 isNaN() 来检查:

console.log(isNaN(NaN));  // 输出: true

另外,虽然 NaN 代表 “Not a Number”,但它的类型实际上是 Number:

console.log(typeof NaN);  // 输出: "number"

这可能会让人觉得有些混淆,但这是因为在 JavaScript 中,Number 类型不仅代表数字,还代表了一些特殊值,比如 NaN、Infinity(无穷大)和 -Infinity(负无穷大)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值