/* 泛型
动态传入规则的变量
function fn<T>(params:T):T{return 具有T规则的数据
}
*/// 给函数定义单个泛型
function fn1<T extends number>(data: T, target: T[]): T[] {let res: T[] = [];target.forEach(item => {if (item > data) {res.push(item);}});return res;
}
const numbers = [1, 2, 3, 4, 5, 6];// 找出大于3的元素
// fn1("3", numbers) // 报错
fn1<number>(3, numbers) // 指定数字类型校验// 给函数定义多个泛型
function fn2<S, N>(d1: S, d2: N) {console.log(d1, d2);
};
fn2<string, number>("1", 2);// 给接口举例单个泛型(同上,也可以多个)
interface itf<T> {name: stringlocation: stringage: T // 动态规定
};
const obj: itf<number> = {name: "全易",location: "北京",age: 18, // 那么就必须是数字类型
};// 给类举例单个泛型(同上函数定义,也可以多个)
class Classes<T> {title: Tconstructor(title: T) {this.title = title;}
}
new Classes<number>(1) // 那么就只能输数字类型
typescript 范型
2025/3/17 13:48:11
来源:https://blog.csdn.net/qq_42618566/article/details/140780714
浏览:
次
关键词:typescript 范型
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com