javascript三元运算符是否只接受单个值?
这是一个典型的三元示例:javascript三元运算符是否只接受单个值?,javascript,Javascript,这是一个典型的三元示例: eatApples === true ? "eat apple" : "don't eat apple"; 我理解这一部分,但如果条件为真,是否也可以赋值?像这样: eatApples === true ? greenApples = "Best Apples" : "don't eat apple"; 还是三元运算符只包含单个值?我问的原因是,如果表达式为真,我当前的示例似乎不允许我设置值 由于三元运算符返回一个值,您可以直接将三元运算符的结果分配给变量: gre
eatApples === true ? "eat apple" : "don't eat apple";
我理解这一部分,但如果条件为真,是否也可以赋值?像这样:
eatApples === true ? greenApples = "Best Apples" : "don't eat apple";
还是三元运算符只包含单个值?我问的原因是,如果表达式为真,我当前的示例似乎不允许我设置值 由于三元运算符返回一个值,您可以直接将三元运算符的结果分配给变量:
greenApples = eatApples === true ? "Best Apples" : "don't eat apple";
如果您只想在真实情况下为greenApples
赋值(如果条件为false,则可能执行其他操作),那么确实没有理由使用三元运算符。在这种情况下,如果。。。else语句:
if(eatApples === true){
greenApples = "Best Apples";
} else {
//something else with "don't eat apple"?
}
使用此语法
greenApples = eatApples === true ? "Best Apples" : "don't eat apple";
console.log(greenApples);
如果它不起作用,请尝试告诉我让我们打破三元运算符,
eatApples===true?greenApples=“Best Apples”:“不要吃苹果”
:
条件,我们也没有将三元结果分配给的变量eatApples===true
如果三元值验证为greenApples=“Best Apples”
,则true
分配给将“Best Apples”
,而不分配其他值greenApples
如果它验证为:“不要吃苹果”
将不会发生任何事情,因为我们没有三元运算符作为赋值的右侧,因此false
将返回,并且不会存储在任何位置“不要吃苹果”
greenApples
像greenApples=eatappies==true?“最好的苹果”:“不要吃苹果”
,但如果三元数验证为false,则会导致青苹果
将“不要吃苹果”
作为值
从代码中我可以看出,如果eatApples===true
,并且(eatApples
)值不是true
,则只需将“最佳苹果”
分配给greenApples
操作符:eatApples==true&&(greenApples=)“Best Apples”)
并且不要忘记greenApples=“Best Apples”周围的括号,否则会出现错误
eatApples=true;
青苹果=‘只是为了测试!’;
EatApplies===真的&(greenApples=“Best Apples”);
控制台。日志(绿苹果);/**最佳苹果**/
EatApple=1;/**不完全是“真”**/
青苹果=‘只是为了测试!’;
EatApplies===真的&(greenApples=“Best Apples”);
console.log(greenApples);/**仅用于测试!***/
如果条件为false,您希望greenApples具有什么值?您说您理解三元运算符,但似乎不确定是否可以使用简单的geenApples=eatApples==true将结果分配给变量?“最佳苹果”:“不要吃苹果”";代码>“你说你理解三元运算符”。不,我从来没说过。我说我理解三元运算符的“这一部分”。如果我理解了整个过程,我就不需要问这个问题了。是的,javascript三元运算符只接受一个值,但可以传递多个详细阅读的条件。“这部分”似乎是指表达式本身,但如果你理解表达式本身只是一个表达式(比“hello”+“world”更复杂,但类似于“hello”+“world”)那么你就会明白它可以直接分配给变量。我不确定这是你想做的,还是你只是想在true
子句中分配greenApples
。