我有一个对象,在属性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运算符没有正确的理解,或者我以错误的方式使用括号.谁能解释一下?
解决方法:
“HelloWorld”的结果&& “GoodbyeWorld”是“GoodbyeWorld”,这就是为什么你得到的结果,你以前的方式是最简单的解决方案