3

抱歉,如果这是“逻辑运算符 101”之类的问题。我一直盯着我的屏幕 15 分钟试图绕着它转头,但我被卡住了。

是否有更简洁/优雅的方式来表达以下内容(这是 JavaScript 语法,但它不是与语言相关的问题):

if (!something && !something_else) {
  // do something
}

根据一些实验,这似乎不是逻辑上的等价物:

if (!(something && something_else) {
  // do something
}

此外,任何人都可以推荐在线资源以进一步研究此类问题吗?我假设这种类型的东西在计算机科学课程的抽象层面上有所涵盖,这是我真正想填补的编程知识中的一个重要空白。谢谢!

4

4 回答 4

11
(Not A) And (Not B)

相当于:

Not (A Or B)

这是德摩根定律的应用

于 2010-07-05T03:58:18.560 回答
3

正确的表达方式应该是:

if (!(something || something else)) {
  // do something
}

当您应用否定时,它会在 AND 和 OR 之间切换运算符。

于 2010-07-05T03:59:41.643 回答
3

我想,你需要

if (!(something || something_else)) {
  // do something
}

!something && !something_else 的意思是“既不是某事也不是某事_else”,相当于“既不(某事或某事_else)”

于 2010-07-05T04:01:46.573 回答
0

你所描述的一个词是非门,或非门。

于 2015-04-23T14:04:40.290 回答