【发布时间】:2019-04-04 10:35:28
【问题描述】:
我的 JavaScript 代码具有 if 语句,其条件如下(恕我直言,非常简单):
if (a !== !!b) {
}
现在,JSHint 抱怨如下,同时在b 前面标出第一个感叹号:
JSHint:“!”的使用令人困惑。 (W018)
如何在不改变其语义且不将其拆分为多个指令的情况下将该行更改为不混淆(由 JSHint 定义)?
需要明确:a 是布尔值,而 b 可能是也可能不是布尔值。
【问题讨论】:
-
a === !b是正确的,如果a是一个布尔值。 -
那么 linter 是这里唯一的困惑...
-
如果您想摆脱 lint 错误,请进行显式转换:
Boolean(b)。 -
请在问题中添加类型和值。
-
@EsdrasXavier 是的,这根本不会令人困惑:P
标签: javascript jshint