使用 JavaScript 将 NaN 转换为 0
使用逻辑 OR (||)
运算符将 NaN 转换为 0,例如 const result = val || 0;
. 如果左边的值是假的,则逻辑 OR (||)
运算符返回右边的值。
let val = NaN;
val = val || 0;
console.log(val); // ?️ 0
如果左边的值是假的,则逻辑 OR (||)
运算符返回右边的值。
JavaScript 中的假值是 null、undefined、false、0、**””(空字符串)、NaN**(不是数字)。
这意味着我们没有明确检查该值是否等于 NaN,我们检查该值是否为假。 所以它可能是一个空字符串、undefined、null 等。
一个简单的考虑方法是 – 运算符右侧的值是一个备用值,以防左侧的值是假的。
或者,我们可以显式检查该值是否为 NaN。
let val = NaN;
if (Number.isNaN(val)) {
val = 0;
}
console.log(val); // ?️ 0
如果存储的值等于 NaN,则使用 let 关键字声明 val 变量允许我们重新分配它。
虽然这种方法有点冗长,但它仍然易于阅读和直观。
或者,我们可以使用三元运算符。
使用三元运算符将 NaN 转换为零,例如 const result = Number.isNaN(val) ? 0 : val;
。 如果值等于 NaN,则运算符返回 0,否则返回值。
let val = NaN;
const result = Number.isNaN(val) ? 0 : val;
console.log(result); // ?️ 0
三元运算符与 if/else 语句非常相似。
如果问号左边的表达式计算为真值,则返回冒号左边的值,否则返回右边的值。
注意,我们使用 Number.isNaN
方法来检查值是否为 NaN(不是数字)。
我们不应该尝试显式地与 NaN 进行比较,因为 NaN 是 JavaScript 中唯一的值,它不等于自身。
console.log(NaN === NaN); // ?️ false
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。