是!!操作符在Javascript中甚至是必需的
Is the !! operator even necessary in Javascript?
本文关键字:操作符 Javascript 更新时间:2023-09-26
我可以理解当您想要将对象值转换为布尔值并将其保存在变量中时的情况。然而,我在一个jQuery模板中遇到了下面的代码,我想知道!!(双感叹号操作符)甚至是必要的
{{if !!sectionId}}
// do something...
{{/if}}
我假设它不是,因为Javascript将自动评估if后面的表达式为布尔值。因此,您可以这样写:
{{if sectionId}}
// do something...
{{/if}}
我的假设对吗?
JavaScript中没有!!
操作符。只有!
。你看到的是一个操作符的双重应用。
!
的单个应用将通过评估其参数的"真实性"来返回一个布尔值,并给出该参数的布尔逆。因此,第二个!
给出的布尔逆值,即值的布尔"真度"。
我个人不会像你的例子那样在简单的if
语句中使用它,但是对于可能显式检查布尔类型参数的api来说,它很方便:
someAPI( !! someExpression );
相关文章:
- 在Javascript中,哪个操作符更快,'*'乘或'/'分
- 这个JavaScript操作符在做什么
- JavaScript操作符"在"的x内
- Javascript OR操作符简写
- 有一种方法来定义隐式转换操作符在javascript
- 简单的javascript游戏:由于构造函数或条件操作符导致的对象创建错误
- 双星号**是有效的JavaScript操作符吗?
- 这个字符/操作符在javascript/jquery选择中意味着什么?
- 使用"in"有什么区别?和“=”;操作符,同时迭代javascript循环
- JavaScript中的逗号操作符
- Javascript赋值操作符与转换
- Javascript删除操作符
- Javascript左移操作符是如何工作的
- Javascript基础知识:根据检索值更改操作符值
- Javascript操作符优先级技术问题
- Javascript中的空检查(使用三元操作符)
- 逻辑!(NOT)操作符在JavaScript中的差异
- 使用小数的Javascript操作符问题
- 在JavaScript中使用随机数和操作符生成一个随机数学方程
- Javascript操作符不能比较整数和零(例如:10、100、1000等)