【发布时间】:2014-06-20 20:07:58
【问题描述】:
我使用三元运算符,但经常想在没有 else 子句的情况下进行检查。我想知道是否有任何简短的方法可以省略它。
我发现了
a ? b : {}
作为if (a) {b}的替代品,节省2个字符,但不是
a ? b :
我猜这是有道理的,它是一个 三元 运算符。
我唯一的想法是那些空的大括号有点unsightly,还有没有其他方法可以指定一个空白的: 语句?
或者,是否有二进制? 运算符?我翻遍了规范,但看不到如何使用二元逻辑运算符,我猜这就是 if 的用途。
有什么方法可以使用 binary logical operator 来表达 {} 的条件或简写吗?我知道这可能是 3 个角色的懒惰的高度,但我只是好奇是否有人有任何技巧可以分享。
【问题讨论】:
-
你可以做
a && b(),假设 b 是一个函数调用。虽然不是这样的粉丝。 -
写三元比较方便,但是比if-else慢很多。
-
@radubogdan:“慢得多”是什么意思?
-
@Bergi 这不是
if else速记的完全重复,它是三元运算符速记 ¬_¬ Ppl 太快了,无法在这里关闭问题 -
@lmmx:请阅读该问题和答案。您要求
if速记,另一个问题要求“我可以在没有 else 的情况下编写 'if else' 速记吗?”!那么有什么区别呢?
标签: javascript ternary-operator logical-operators binary-operators