JavaScript boolean 表达式简化

标签 javascript intellij-idea boolean

我从 IntelliJ 收到一条关于某些 JavaScript 代码的有趣警告消息:

((a === 'foo') || (a === 'bar')) ? true : false' 可以简化为 '!!(((a === 'foo') || (a === 'bar')))

我明白为什么结构 condition 了? true : false 没有意义,但条件本身不应该代表一个 boolean 值吗?那么为什么要对整个表达式使用双重否定呢?

最佳答案

问问自己:您真的需要返回一个 boolean 值吗?

回答您的问题:IntelliJ 建议这样做的原因是因为它是这样配置的。
这只是让 IntelliJ 处理无意义条件的方法之一。

the IntelliJ intentions documentation , 寻找:JavaScript --> 条件运算符 --> 删除无意义的条件。

双重 boolean 否定 (!!) 是一种更短且可以说更简洁的将语句结果转换为 boolean 值的方法,而不是 truthyfalsy 该语句通常会返回。

关于JavaScript boolean 表达式简化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21847100/

相关文章:

python - 对 Python OR 运算符感到困惑

java - 将不重复的数字存储在数组中

javascript - Hovercard 在带绑定(bind)的 knockoutJS 中不显示

java - 如何在 HtmlUnit 中模拟浏览器的后退按钮?

javascript - 从 JSON 对象中删除键值对

python-3.x - boolean 测试 : Python prints '1' or 'True'

php - 使用 xmlhttp.responseText 中的 JSON 解析数组

java - Intellij spring boot 应用程序不适用于 tomcat

eclipse - 在 intelliJ/Eclipse 中,是否有办法永远不会从 bin、目标或构建中打开文件?或警告?

python - PyCharm 能否自动生成 __eq__() 和 __hash__() 实现?