[英]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.