javascript - NaN 算作假?

标签 javascript type-conversion nan

我正在读 Marijn Haverbeke 的一本书“Eloquent JavaScript”,它说:

“将字符串和数字转换为 bool 值的规则规定 0、NaN 和空字符串 ("") 算作假,而所有其他值算作真。”

如果有人向我解释作者说根据转换规则 NaN 算作 false 是什么意思,那就太好了?

正如我现在所看到的:

0 == false;     // true
"" == false;    // true
NaN == false;   // false
0 / 0 == false; // false

是的,我知道“NaN 不等于任何东西,甚至不等于另一个 NaN”,但我只是想知道这本书想让我知道什么?

最佳答案

基本上,如果一个变量被分配给 NaN,如果在条件语句中使用它,它将评估为 false。例如:

var b = NaN;

if(b){//code will never enter this block
    console.log('the impossible has occurred!')
}

如果您收到无效输入,也是如此,例如:

var input = "abcd"
var num = parseFloat(input);

if(num){
    console.log('the impossible has occurred!')
}

关于javascript - NaN 算作假?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43746574/

相关文章:

javascript - x >= JavaScript 中的 x 模式

c++ - Visual C++ 2008 发布版本打破了我的花车

javascript - Gatsby - 在解析/显示 YAML 文件内容时是否可以保留换行符?

python-3.x - 如何获得 Tensorflow 中线性回归的正确答案?

javascript - 将类添加到相邻的 html 元素 jquery

matlab - 如何在 MATLAB 中从纪元时间获取秒数?

c# - 如何在 C# 中将 FormatConvertedBitmap 转换为 Stream

go - 在 Golang 中将二进制值作为字符串转换为 uint32

javascript/jQuery 在方法中传递参数

javascript - 只 react 展开和折叠一个面板