【发布时间】:2013-10-06 00:19:01
【问题描述】:
我有一个对象,它在属性hello 中包含一个字符串HelloWorld。我想检查两个字符串,如果它与任何一个都不匹配,那么我想执行某些代码。
var item = { hello: "HelloWorld" }
item.hello !== "HelloWorld" && item.hello !== "GoodbyeWorld" // false, correct
不过,我觉得这可以优化并提高可读性:
item.hello !== ("GoodbyeWorld" && "HelloWorld") // false, correct
item.hello !== ("HelloWorld" && "GoodbyeWorld") // true WTF?
我预计这两个检查都是虚假的,但我肯定在这里遗漏了一些东西。我认为我对 javascript 中的 AND/OR 运算符没有正确的理解,或者我以错误的方式使用了括号。谁能解释一下?
【问题讨论】:
-
你不能那样做。我想不出一种支持这种结构的语言。更详细的解释见stackoverflow.com/a/17200368/146205。
标签: javascript operators or-operator