2012-10-29 195 views
-3

我正在使用三元運算符,我需要一點幫助。我正在轉換一個簡單的if-else語句,但我有一個簡單的語法錯誤,我似乎無法弄清楚。我在代碼學院練習,我得到的錯誤是第一行是未定義的。 這是原始代碼:使用Javascript的三元運算符

if (food === "taco") { 
    foodType = "Mexican"; 
} else { 
    foodType = "other"; 
} 

這是我的代碼。這第一行是未定義的,但我似乎無法弄清楚如何。

var food = prompt("Food type"); 
var food === "taco" ? "Mexican": "other"; 
+1

那的JavaScript,而不是Java。 – Vulcan

+0

@Bryan java中沒有var。 – freebird

+1

這一行「var food = prompt(」Food type「); 」與您所問的問題完全無關... –

回答

7

我想你的意思做的是:

foodType = (food === "taco") ? "Mexican": "other" 
        ^condition  ^true ^false 

MDN: Conditional Operator

1

三元語法應該是這樣的,

variableToBeSet = (condition) ? trueValue : falseValue; 
在你的問題

foodtype = (food === "taco") ? "Mexican": "other"; 
0

布爾表達式?值1:值2

例如,下面的if..then..else聲明

boolean isSmiley = true; 

String mood = ""; 

if (isSmiley == true) 
{ 
    mood = "I'm Happy!"; 
} 
else 
{ 
    mood = "I'm Sad!"; 
} 

現在你可以使用三元oprtation像下面

boolean isSmiley = true; 
String mood = (isSmiley == true)?"I'm Happy!":"I'm Sad!";