给定以下类型:
type Add = (x:number, y:number) => number
Run Code Online (Sandbox Code Playgroud)
我可以声明const该类型的 a 并定义函数的其余部分,而无需显式指定类型。Typescript 知道那x是一个数字,而且确实y是一个数字。
const add: Add = (x, y) => x + y;
Run Code Online (Sandbox Code Playgroud)
我更喜欢使用function而不是定义函数const,但是似乎没有办法输入完整的函数声明。看来您被迫单独定义参数和返回类型。有什么方法可以使用Add下面声明中的类型,这样我就不必指定它x是一个数字并且y是一个数字
function add(x, y) {
return x + y;
}
Run Code Online (Sandbox Code Playgroud)
而不被迫做类似的事情
function add(x: Parameters<Add>[0], y: Parameters<Add>[1]): ReturnType<Add> {
return x + y;
}
Run Code Online (Sandbox Code Playgroud)
Tit*_*mir 18
您不能指定函数声明的类型。您只能使用Parameters和ReturnType。唯一的小改进是对参数使用解构:
type Add = (x:number, y:number) => number
function add(...[x, y]: Parameters<Add>): ReturnType<Add> {
return x + y;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4723 次 |
| 最近记录: |