Javascript中的三元运算符

Javascript中的三元运算符,javascript,ternary-operator,Javascript,Ternary Operator,我在和三元运算符一起工作,我需要一些帮助。我正在转换一个简单的if-else语句,但我有一个简单的语法错误,我似乎无法理解。我在代码学院练习,我得到的错误是第一行未定义。 以下是原始代码: if (food === "taco") { foodType = "Mexican"; } else { foodType = "other"; } 这是我的密码。第一行未定义,但我似乎不知道如何定义 var food = prompt("Food type"); var food === "

我在和三元运算符一起工作,我需要一些帮助。我正在转换一个简单的if-else语句,但我有一个简单的语法错误,我似乎无法理解。我在代码学院练习,我得到的错误是第一行未定义。 以下是原始代码:

if (food === "taco") {
  foodType = "Mexican";
} else {
  foodType = "other";  
}
这是我的密码。第一行未定义,但我似乎不知道如何定义

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

我想你的意思是:

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

三元语法应该是这样的

variableToBeSet = (condition) ? trueValue : falseValue;
在你的问题上

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

布尔表达式?值1:值2

例如,下面的if..then..else语句

boolean isSmiley = true;

 String mood = "";

 if (isSmiley == true)
 {
   mood = "I'm Happy!";
 }
 else
 {
   mood = "I'm Sad!";
 }
现在您可以使用三元运算,如下所示

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

@Bryan java中没有var。这一行“var food=prompt(“food type”);”与您提出的问题完全无关…@MitchWheat这是怎么回事,为什么重要?它为我们提供了证据,证明食物是一个字符串,
=
的使用是有效的。我看不出它是如何“完全不相关”…@ianpgall:看这一点:“这是原始代码”@MitchWheat是的,我打赌“原始代码”也有
提示,只是没有包括在内。我想这些事情应该更加一致