HelloWorld
我有一个在属性中包含字符串的对象hello
。我想检查两个字符串,如果它与任何一个都不匹配,那么我想执行某些代码。
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 运算符没有正确理解,或者我以错误的方式使用括号。谁能解释一下?