簡體   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