我有一个对象在属性hello
中包含字符串HelloWorld
。我想检查两个字符串,如果它不匹配任何一个,那么我想执行某些代码。Javascript如何使用带括号的运算符和/或运算符
var item = { hello: "HelloWorld" }
item.hello !== "HelloWorld" && item.hello !== "GoodbyeWorld" // false, correct
不过,我觉得这可以优化并使其更加易读:
item.hello !== ("GoodbyeWorld" && "HelloWorld") // false, correct
item.hello !== ("HelloWorld" && "GoodbyeWorld") // true WTF?
我预计这两个检查以falsy,但肯定我在这里失去了一些东西。我认为我没有正确理解JavaScript中的AND/OR运算符,或者我以错误的方式使用括号。谁能解释一下?
你不能这样做。我想不出一种支持这种构造的单一语言。有关更详细的解释,请参阅http://stackoverflow.com/a/17200368/146205。 – Jensen