JavaScript 三元运算符可以支持 3 个条件吗?

Posted

技术标签:

【中文标题】JavaScript 三元运算符可以支持 3 个条件吗?【英文标题】:Can a JavaScript ternary operator support 3 conditions? 【发布时间】:2018-03-13 19:42:11 【问题描述】:

鉴于以下 javascript 三元运算符,是否可以使其支持 3 个条件而不是当前的两个条件?

const color = d.y >= 70 ? "green" : "red";

我基本上想要以下逻辑:

>= 70, color = green;
between 69-50, color = yellow;
< 50, color = red;

这可以用 1 行三进制还是我需要一个 IF 语句?

【问题讨论】:

【参考方案1】:

你可以的

const color = d.y >= 70 ? "green" : (d.y < 50 ? "red" : "yellow");

【讨论】:

【参考方案2】:

你可以这样堆叠:

condition1 
  ? result1 
  : condition2 ? result3 : result4

【讨论】:

【参考方案3】:

只需要第二个三元运算符:

const color = d.y >= 70 ? "green" : d.y >= 50 ? "yellow" : "red";

【讨论】:

以上是关于JavaScript 三元运算符可以支持 3 个条件吗?的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript一元运算符二元运算符和三元运算符

javascript:使用三元运算符的意外评估行为

是否可以将三元运算符放在开关内? Javascript

带有对象的Javascript三元运算符

是否可以从 javascript 中的条件(三元)运算符中获取这两个值?

Javascript 三元运算符和赋值