一、函数类型接口
之前学习了接口interface,我们来定义一个函数类型的接口
interface outputName {
(userName: string): string;
}
let outputFn: outputName = (userName: string) => {
return userName
}
let result = outputFn("小高")
console.log(result)
如果要改造为泛型的接口,应该怎样做呢?
二、泛型接口
interface outputName {
<T>(userName: T): T;
}
function outputFn<T>(userName: T): T {
return userName;
}
let result: outputName = outputFn;
console.log(result<string>("小高"))
也可以把泛型参数提到接口名上
interface outputName<T> {
(userName: T): T;
}
function outputFn<T>(userName: T): T {
return userName;
}
let results: outputName<string> = outputFn;
console.log(results("小高"));