2017-11-10 143 views
2

爲什麼我的「C」條件轉到'else'語句?,他們分開去了'if'語句,但是一起工作。javascript if語句沒有按預期評估

var objTest = { 
    ID : "10" 
}; 

//A: First Condition: Exist value in property ID 
console.log((objTest.ID ? 'if' : 'else'));      // output => "if" 

//B: Second Condition: Value different from "0" 
console.log((objTest.ID != "0" ? 'if' : 'else'));    // output => "if" 

//C: First and Second Condition together must be "if" 
console.log((objTest.ID & objTest.ID != "0" ? 'if' : 'else')); // output => "else" 
+5

'&'和'&&' – Pointy

+1

之間有很大的區別另外請注意,這裏並沒有包含真正的if語句。 – Pointy

+0

你比我快 –

回答

2

你的問題是,你使用了錯誤的AND opernator,你需要使用&&而不是&

console.log((objTest.ID && objTest.ID != "0" ? 'if' : 'else')); 

第一&是位運算符和&&是邏輯運算符。

請查看What's the difference between & and && in JavaScript?瞭解更多詳情。

+0

謝謝!!那是錯誤!抱歉!我只需要其他程序員的眼睛 –

+0

@CarlosDominguez這種混亂總是發生;) –