gpt4 book ai didi

typescript :箭头功能的通用功能类型/接口(interface)

转载 作者:行者123 更新时间:2023-12-03 19:13:39 26 4
gpt4 key购买 nike

好的,我有以下场景:

type IHashFn = (arg: string) => number;
const hash: IHashFn = (arg) => {
return 42;
}

到现在为止还挺好。现在我希望函数是通用的。
const hash: <T> (arg: T) => number = (arg) => {
return 42;
}

这样可行。但这不会:
type IHashFn<T> = (arg: T) => number;
const hash: <T> IHashFn<T> = (arg) => {
return 42;
}

我发现没有办法让 TS 编译器平静下来。使用接口(interface)而不是类型别名也不起作用。

注意:我不想要 hash成为 IHashFn<string> 的实现但也很通用。

有没有办法在 TypeScript 中声明泛型函数类型或接口(interface)?

最佳答案

你并没有真正用你的泛型参数做任何事情。

但听起来你想要一个泛型函数,而不是泛型类型别名。所以把它留在函数上,离开类型别名。

type IHashFn = <T>(arg: T) => number;

const hash: IHashFn = (arg) => {
return 42;
}

关于 typescript :箭头功能的通用功能类型/接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61376309/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com