Javascript类型强制转换使用parseFloat(). tofixed()

Javascript type coercion using parseFloat().toFixed()?

本文关键字:parseFloat tofixed 类型 转换 Javascript      更新时间:2023-09-26

谁能解释清楚,为什么第三个表达式返回NaN?

NaN || 0 // 0 
parseFloat("s").toFixed() // NaN 
parseFloat("s").toFixed() || 0 // NaN

第一行:NaN为假,因此NaN || 0为0

方法.toFixed的结果是一个字符串,所以

第2行:parseFloat("s") -> NaN(这是 NaN),然后NaN.toFixed() -> "NaN"…因此结果是字符串"NaN"(而不是值NaN)

第3行:与第2行相同,那么,作为非空字符串是" true ", "NaN" || 0 -> "NaN"(注意,仍然是字符串)

注:我不认为这里有任何类型强制转换(虽然我可能错了)

这是因为您得到"NAN" || 0而不是NAN || 0,因为parseFloat("s").toFixed将返回"NAN"而不是NAN