[英]Can curry functions be executed half way?
假設我有一個這樣的 function:
function foo(){
return () => {
return "bar"
}
}
foo()() // => "bar"
有沒有辦法在不使用參數的情況下返回 function 以外的東西?
foo()() // => "bar"
foo() // => "foo"
不可以。如果返回的值以后必須是可調用的,那么它必須是 function - 沒有例外。
不過,您可以在 function 上放置一個屬性。
function foo(){ return Object.assign( () => { return "bar" }, { prop: 'bar' } ); } console.log(foo()()); console.log(foo().prop);
或者返回 function 和其他東西。
function foo(){ return [ () => { return "bar" }, 'bar' ]; } const [fn, val] = foo(); console.log(fn()); console.log(val);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.