【发布时间】:2018-07-11 19:36:04
【问题描述】:
我正在重构我的代码,但遇到了几行我在 if 条件中使用双重否定的地方。
这让我开始思考,在 javascript 中是否存在 if (!!x) 无法解析为与 if (x) 相同的条件的情况?
注意:我不是在谈论 !!x !== x,我的意思是它们代表不同的逻辑值。换句话说,是否存在这两个表达式的结果不同的情况。
x ? true : false;
!!x ? true : false;
【问题讨论】:
-
喜欢
x = new Boolean(true)? -
技术上如果
x = new Boolean(true)然后!!x !== x。但是,if (x)和if (!!x)都将评估为true。 -
您究竟在问什么?您提出了两个不同的问题,
!!x !== x和if(x)。那些不是一回事。 -
@jhpratt 我编辑了这个问题,我也从未说过
!!x和x是平等的。 -
@TheGirrafish 这就是你问题的标题
标签: javascript boolean