Javascript if语句双感叹号运算符冗余[重复]

Posted

技术标签:

【中文标题】Javascript if语句双感叹号运算符冗余[重复]【英文标题】:Javascript if statement double exclamation mark operator redundancy [duplicate] 【发布时间】:2017-10-08 12:08:56 【问题描述】:

如果我有一个没有条件运算符的 if 语句,是否使用双感叹号运算符 - !!

例如...

if ([]) 


对...

if (!!([])) 


据我了解 - 运营商基本上是在问 - “这个值是真的吗?”。所以在这种情况下是多余的。在所有类似的情况下都是多余的吗?

编辑:

if (x)  console.log("hi"); 
if (!!x)  console.log("hi"); 

这两个都会打印到任何x 吗?这是我的问题。

【问题讨论】:

在这种情况下是多余的。 请看我的编辑 【参考方案1】:

是的。这两个都将打印任何Boolean(x) === true

更多详情,您可以在 javascript 中找到 truthy、falsy 和 Boolean

为了便于理解,可以使用Boolean([]) // true

【讨论】:

以上是关于Javascript if语句双感叹号运算符冗余[重复]的主要内容,如果未能解决你的问题,请参考以下文章

js 前加分号和感叹号的含义

php技术–php中感叹号!和双感叹号!!的用法(三元运算)

C语言 if用法

JavaScript基础篇分享之二

Python中的if语句——参考Python编程从入门到实践

JavaScript基础--超详细(流程控制)