4
我可以使用三元條件運算符的if {} else {}
這樣的語句:a ? x : y
或question ? answer1 : answer2
。三元條件運算符的其他如果
是否可以將此格式與else if
子句一起使用?例如。是這樣的:
a ? b ? x : y : z
......或者這只是矯枉過正?
我可以使用三元條件運算符的if {} else {}
這樣的語句:a ? x : y
或question ? answer1 : answer2
。三元條件運算符的其他如果
是否可以將此格式與else if
子句一起使用?例如。是這樣的:
a ? b ? x : y : z
......或者這只是矯枉過正?
x
和y
a ? x : y
都是完整的表達式,所以只要它們產生正確類型的結果,您就可以將任何類型的子表達式放入它們中。
然而,條件表達式的嵌套很快變得難以管理,所以使用括號是一個非常不錯的主意:
let res = a ? (b ? x : y) : z
或
let res = a ? x : (b ? y : z)
或在最後甚至
let res = a ? (b ? w : x) : (c ? y : z)
笑'讓res ='。我認爲在這一點上,「else if」的可讀性勝過操作符的簡潔:) – chicobermuda
@chicobermuda我同意 - 因此「甚至」取代簡單的「或」。如果你發現自己需要寫一些與最後一個表達式一樣複雜的東西,你可能會更好地使用'if' /'else'或者在某些情況下,'switch'。 – dasblinkenlight