我刚刚在 javascript 中第一次看到这个结构
if (someConditionIsMet && !(anotherCondition && oneMoreCondition)) {
return something
}
if 条件语句中有一个 !()。我想知道那到底是做什么的。它只是将多个条件组合在一起并确保它们在触发逻辑之前都以某种方式进行评估的一种方法吗?如果是这样,这仅仅是为了简化外观还是有一些逻辑优势?
最佳答案
特别是对于!(anotherCondition && oneMoreCondition)
,它的意思是NOT (anotherCondition AND oneMoreCondition)
。
这是De Morgan's laws :
not (A and B) = not A or not B
有些人可能会说not A or not B
比not (A and B)
更容易阅读,但这是个人喜好。
使用德摩根定律扩展整个条件将导致:
someConditionIsMet AND (NOT anotherCondition OR NOT oneMoreCondition)
在 JavaScript 中:
if (someConditionIsMet && (!anotherCondition || !oneMoreCondition))
如果您认为扩展形式更具可读性,则可以使用它。
关于javascript - !() 在 JavaScript 中是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59959046/