Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript三元运算符是否只接受单个值?_Javascript - Fatal编程技术网

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