它们是TypeScript中避免重复的一种方式
T extends ISomething<T>
到处都是如果我有这样一个界面:
interface ISomething<T> {
avalue: T
// ...
}
每当我想确保一个函数的参数是这种类型时,我必须写:
const afunction = <T extends ISomething<T>>(aparam: T) => {
// do something
}
如果我有另一个函数使用的参数必须是同一类型的,我必须重复语法
const bfunction = <T extends ISomething<T>>(aparam: T) => {
// do something
}
当在一个文件或一组文件中时,我确实有很多函数(我不喜欢类jjj^^^),它们确实需要相同的类型,这会产生很多样板文件。
我要找的是某种速记,能写出这样的东西
// type TI<T> = T extends ISomething<T>
结束,然后能够:
const cfunction = <TI<T>>(aparam: T) => {
// do something
}
甚至更好
const cfunction = <TI>(aparam: TI) => {
// do something
}
它们是这样一种存在的类型定义吗?
我查阅了很多文档,没有发现任何东西:/
它提供了尽可能多的关于所用打字和制作的信息
更少的代码
写,尤其是当函数数开始累加时。
提前感谢你的阅读,希望他们是一个更好的方式^^
塞布