二进制逻辑运算符在Javascript中表示一个条件

Binary logical operator to express a conditional in Javascript

本文关键字:一个 条件 表示 逻辑运算符 Javascript 二进制      更新时间:2023-09-26

我使用三元操作符,但通常不希望使用else子句进行检查。我想知道是否有什么简单的方法可以省略这个。

我发现

a ? b : {}

作为if (a) {b}的替换,节省2个字符,但不

a ? b :

我想这是有意义的,它是一个三元运算符。

我唯一的想法是那些空花括号有点不美观,有没有其他方法来指定一个空白的:语句?

或者,是否存在二进制?操作符?我在规范中翻了一遍,但看不出我如何使用二进制逻辑运算符,我猜这就是if的用途。

是否有某种方法可以使用二进制逻辑运算符来表示{}的条件或简写?我知道这可能是三个字符的懒惰程度,但我只是好奇是否有人有任何技巧分享。

你的代码有几个问题:

  • 不要这样做;这是令人困惑的

  • {}不是空块;它是对象字面量。""042也有同样的效果。

  • &&操作符将按您的要求执行。

在三元? :表达式中,子节不是语句,它们是表达式。我从未见过使用{};这是可以的,但实际上任何非空表达式都可以工作:

a ? b : 0
a ? b : false
a ? b : null
a ? b : 2 + 2

对于像测试一个简单条件这样的简单逻辑来说,这真的不是最清晰的编码方式。在我看来,if语句更清晰,并且您不必为了满足语法要求而选择一个无意义的表达式。

这也是一种习惯用法,尽管(同样是观点)不是很清楚:

a && b;

这模仿了一些语言中存在的一种叫做"守卫"的结构。