繁体   English   中英

使用三元运算符而不是if / else?

[英]Using the ternary operator instead of if/else?

我最近一直在学习三元运算符,以及如何使用if / else运算符代替三元运算符。

我一直在练习,这是一个程序,该程序可以根据年龄配置某人应该去的学校。

但是,当我运行代码时,它不起作用。

var age = 15;

function whichSchool(age) {
  return (age < 13) ? "Elementary School"
       : (age >= 13 && age <= 18) ? "Secondary School"
       : (age > 18) ? "University"
}

console.log(whichSchool(15))

它说:意外令牌{。

任何帮助表示赞赏。

谢谢。

三元语法是conditional ? true : false conditional ? true : false 您已经在此处组合了多个if条件三元组,但是如果没有一个满足条件则没有逻辑。 若要更正此问题,请在您的最终条件之后添加: false后备行为:

 var age = 15; function whichSchool(age) { return (age < 13) ? "Elementary School" : (age >= 13 && age <= 18) ? "Secondary School" : (age > 18) ? "University" : "None" } console.log(whichSchool(15)) 

请注意,尽管上述条件组合(某人年龄在13岁以下,13至18岁之间或18岁以上)组合在一起,但这种false逻辑永远不会得到满足,您最好还是简单地将: "University"作为默认条件此实例:

 var age = 15; function whichSchool(age) { return (age < 13) ? "Elementary School" : (age >= 13 && age <= 18) ? "Secondary School" : "University" } console.log(whichSchool(15)) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM