繁体   English   中英

如何定义柯里化 function 的返回类型?

[英]How to define the return type of currying function?

我有一个柯里化 function 看起来如下:

export interface NewIdeaCardSubmit {
    title: string,
    description: string,
    categories: CategoryValues
}

const applyInputs = (title: string) =>
                    (description: string) =>
                    (categories: CategoryValues) => {
                       return ({
                           title: title,
                           description: description,
                           categories: categories
                       } as NewIdeaCardSubmit )
                    };

是否有另一种方法来定义applyInputs function 而不是as的返回类型?

不错的是:

const applyInputs = (title: string) => (description: string) => (categories: CategoryValues) => NewIdeaCardSubmit

这是你需要的吗?

export interface NewIdeaCardSubmit {
    title: string,
    description: string,
    categories: CategoryValues
}

const applyInputs = (title: string) =>
                    (description: string) =>
                    (categories: CategoryValues): NewIdeaCardSubmit => 
                       ({
                           title: title,
                           description: description,
                           categories: categories
                       })```

也许首先定义 function 类型:

export interface NewIdeaCardSubmit {
    title: string,
    description: string,
    categories: number[]
}
type ApplyInputs = (title: string) => (description: string) => (categories: number[]) => NewIdeaCardSubmit;
const applyInputs2: ApplyInputs = (title) => (description) => (categories) => ({ title: title, description: description, categories: categories })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM