我最近一直在学习三元运算符,以及如何使用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))
它说:意外令牌{。
感谢您的帮助。
谢谢。
答案 0 :(得分:2)
三元语法为conditional ? true : false
。您已经在此处组合了多个if
条件三元组,尽管对于满足条件 none 的逻辑都没有逻辑。要解决此问题,请在您的最终条件之后添加: 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
逻辑永远不会得到满足,最好还是简单地使用{在这种情况下,默认设置为{1}}:
: "University"