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

发表回复 0

Your email address will not be published.