我想將一個函式設定為三元運算子的結果(即回傳兩個函式之一),然后呼叫結果。我的代碼如下所示:
const bar = (x: number) => {
// do something
}
const foo = (x: number) => {
// do something else
}
const my_function = condition ? bar : foo;
my_function(x)
但我收到 my_function 不是函式的型別錯誤。為什么這不起作用,我怎樣才能使它起作用?我必須多次呼叫這個函式,這就是為什么我想這樣做而不是有條件地呼叫。
uj5u.com熱心網友回復:
@m-s7 的回答有效。然而,這有點亂。
恕我直言,最好將這樣的東西投入生產:
const bar = (x: number) => {
// do something
}
const foo = (x: number) => {
// do something else
}
const my_function = (x: number) => condition ? bar(x) : foo(x)
在這里,您正在創建一個函式,在該函式中傳入 arg 并根據條件從正確的函式回傳結果。一目了然,它非常干凈且易于理解。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/475940.html
標籤:javascript 反应 打字稿
