【发布时间】:2021-12-11 12:24:49
【问题描述】:
我的具体示例将增加 obj[s] 如果它是真的(有一个值),如果它是假的(不存在于对象中)它将设置它等于 1 并因此将它添加到对象。
但总的来说,我要问的是:
something = doIfTruthy || doIfFalsey
我认为它必须有一个名字,就像我们如何称呼这个“三元或条件运算符”一样
something = condition? ifTrue: ifFalse
我希望能够在我的笔记中通过适当的名称来引用它。现在我只是称它为“exploit truthy/falsey”,因为这就是我使用它的方式。
我也想知道你怎么称呼这种表达方式,因为它很相似:
something = condition && ifTrue
【问题讨论】:
-
没有具体的名称。它使用 OR,因此从技术上讲它是一个 OR 表达式,但如果您愿意,也可以称为“带有后备的赋值”,并且大多数了解 JS 的人都会理解您。
-
它们只是被称为“逻辑运算符”,而您“利用”的是它们的短路行为。另请注意,在操作数表达式中执行副作用是一种不好的做法,最好使用
if语句。或者,在您的特定示例中,obj[s] = (obj[s] ?? 0) + 1; -
哦,这很有趣,因为最初我有 obj[s] = (obj[s] ?? 0) + 1;但是教练告诉我使用我在原始问题中的方法。我很高兴知道我原来的方法更好。
标签: javascript boolean conditional-operator