interface GenericIdentityFn {
<T>(arg: T): T;
}
function identity<T>(arg: T): T {
return arg;
}
let myIdentity: GenericIdentityFn = identity;
新手目前正在学ts,但是一直不明白为什么接口已经定义了参数的类型,function里还要再写一遍?
interface GenericIdentityFn {
<T>(arg: T): T;
}
function identity<T>(arg: T): T {
return arg;
}
let myIdentity: GenericIdentityFn = identity;
新手目前正在学ts,但是一直不明白为什么接口已经定义了参数的类型,function里还要再写一遍?
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
2 回答4.3k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
5 回答3.8k 阅读
你可以这么写
你在定义
identity
时并没表示这个函数是实现了GenericIdentityFn的,所以你得自己写一遍类型参数。实际上
function xxx() {}
的写法也无法声明其实现了什么