NaN
是 JavaScript 中的特殊值,表示“不是一个数字”(Not-a-Number)。它是一个特殊的数值类型,用于表示不能产生有效数字结果的操作或值。例如,将非数字字符串转换为数字、0 除以 0 等操作会返回 NaN
。
要检查一个值是否为 NaN
,可以使用 isNaN()
函数。不过需要注意,isNaN()
在判断值是否是 NaN
时会尝试先将值转换为数字,如果能转换为数字,会返回 false
,否则返回 true
。有时候这个行为可能不符合预期,比如对于空字符串或其他不能转换为数字的非 NaN
值也会返回 true
。
const value = 10 / 'abc'; // 将非数字字符串转换为数字,结果为 NaN
// 检查值是否为 NaN
if (isNaN(value)) {
console.log('The value is NaN.');
} else {
console.log('The value is a number.');
}
另一个更可靠的方式是使用 Number.isNaN()
方法,它不会尝试将参数转换为数字,只有在参数严格等于 NaN
时才会返回 true
。
const value = 10 / 'abc'; // 将非数字字符串转换为数字,结果为 NaN
// 检查值是否为 NaN
if (Number.isNaN(value)) {
console.log('The value is NaN.');
} else {
console.log('The value is a number.');
}
这种方式更加精确地检查一个值是否是 NaN
。
Was this helpful?
0 / 0