编程语言
首页 > 编程语言> > 是个 !!运算符甚至在Javascript中需要?

是个 !!运算符甚至在Javascript中需要?

作者:互联网

当你想要将对象值转换为布尔值并将其保存在变量中时,我可以理解这种情况.但是,我在jQuery模板中遇到了以下代码,并想知道是否!! (双感叹号运算符)甚至是必要的.

{{if !!sectionId}}
    // do something...
{{/if}}

我假设它不是因为Javascript会自动评估if作为布尔值后面的表达式.因此,你可以写:

{{if sectionId}}
    // do something...
{{/if}}

我的假设是对的吗?

解决方法:

没有!! JavaScript中的运算符.只是!您所看到的是该单个运算符的双重应用.

单一申请!将通过评估其参数的“真实性”返回一个布尔值,给出它的布尔反转.第二 !因此给出该值的布尔逆,因此是原始值的布尔“真值”.

就个人而言,我不会像你的例子那样在一个简单的if语句中使用它,但它对于可能显式检查布尔类型参数的API很方便:

someAPI( !! someExpression );

标签:javascript,jquery,jquery-templates
来源: https://codeday.me/bug/20190726/1541293.html