我有一個對象在屬性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