gpt4 book ai didi

javascript - javascript 中 if(variable) 的确切否定是什么?

转载 作者:行者123 更新时间:2023-11-30 07:21:59 26 4
gpt4 key购买 nike

上下文:

我经常在javascript程序中看到如下条件语句:

if (myVariable){
....
}

据我所知,它会针对 undefined 和 null 进行测试,但我不确定还有什么,我想是针对 boolean false...

理论上,如果我想写出精确的否定,我可以写出

if (myVariable){
// dummy empty
}
else{
// My conditional code here
}

问题

以下最简单形式的上述代码的确切等价物是什么?

if (<what to write here using myVariable>){
// My conditional code here
}

if (!myVariable) 的答案似乎太明显了,我不确定这里是否存在关于未定义、空行为的陷阱...

最佳答案

尝试

if (!Boolean(myVariable))
{
//logic when myVariable is not 0, -0, null, undefined, false,
}

检查这个specthis

  1. Let exprValue be ToBoolean(GetValue(exprRef)).

因此, bool 值的转换是表达式发生的第一件事。

您也可以将同样的事情应用于单个变量。

编辑:

在评论中解释问题

how the "!myVariabla" expression is evaluating

它会首先根据规范中给出的表格将表达式强制转换为 bool 值,然后取反。

关于javascript - javascript 中 if(variable) 的确切否定是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36661748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com