当前位置: 首页 > Web前端 > HTML5

js中bool值转换与“&&”、“--”、“!!”详细解释

时间:2023-04-05 22:15:53 HTML5

bool值转换数据类型bool值转换undefinedundefined转falseObjectnull转false,其他转trueBooleanfalse转false,true转falsetrueNumber0,NaN转false,其他为trueString""转false,其他为true"&&”:遇到“假”爱时,返回javascript中的“&&”运算符。算法如下:返回遇到的第一个falseValue(null,undefined,NaN,false,'',0)或最后一个值。如果&&左边的表达式为真,则返回右边表达式的值;否则返回左边表达式的值。多个&&表达式一起运算时,第一个表达式运算的值为假,如果所有表达式运算结果都为真,则返回最右边表达式运算的值。constaa={'name':'xx'};constbb=aa&&aa.age;//bb输出未定义;让抄送;constdd=cc&&cc.name?cc.name:未定义;//dd输出未定义constdd=cc&&cc.name;//dd的输出未定义;上面两段代码的执行结果是一样的。之前写代码的时候一直在使用上面的方法,但是发现有些单测无法覆盖,导致单测分支覆盖率很低,而下面的方法可以很好的解决这个问题。这两句话的效果是一样的。“||”:遇到“真”爱,回“||”JavaScript中的运算符。算法如下:返回遇到的第一个真值或最后一个值。如果“||”左边的表达式为真,则返回左边表达式的值;否则,返回右边表达式的值。多个“||”时表达式一起运算,第一个表达式运算结果的值为真,如果所有表达式运算结果都为假,否则返回最右边表达式的值。常量aa=假||'xx';//aa的输出是'xx'"!!"“!!”强制将表达式转换为bool值,运算结果为true或false。constaa='xx';constbb=!!aa;//bb输出为真constcc=!!(NaN||undefined||null||0||'');//cc为假;我的博客即将转入腾讯云+社区,诚邀大家加入:https://cloud.tencent.com/dev...