• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript函数泛型

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
function join(first: string | number, second: string | number) {
  return `${first}${second}`;
}
join('1', 1);

/**
* 这么看 join 还挺好用的。
* 如果我想做到这两个数要么都传 string,要么都传 number
* 一个 string,一个 number 时希望提醒我
*
* 这个时候需要使用泛型这个概念
* 泛型 generic 泛指的类型
* join<ABC>,这个 <abc> 指的就是泛型
*/

function join1<ABC>(first: ABC, second: ABC) {
  return `${first}${second}`;
}
join1<string>('1', '1');
// 这个意思就是调用 join1 时我指定 ABC 是 string,那么 first,second 都是 string
join1<number>(1, 1);
// 这个意思就是调用 join1 时我指定 ABC 是 number,那么 first,second 都是 number


/**
* 这个就是泛型的概念,有的时候遇到这样的情况
* ABC 后面加 [] ,变成 ABC[],那么就是一个数组
* 这个时候直接传字符串是不行的,要传 string 类型的数组
*/
function map<ABC>(params: ABC[]) {
  return params;
}
map<string>(['123']);
// 或者
function map1<ABC>(params: Array<ABC>) {
  return params;
}
map1<string>(['123']);


/**
* 泛型还可以指定多个
*/
function join2<T, P>(first: T, second: P) {
  return `${first}${second}`
}
join2<string, number>('1', 2)

/**
* 如果调用的时候不写类型, ts 会去推断
* 泛型只有在用的时候才知道是什么类型
*/

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
typescript接口interface发布时间:2022-07-18
下一篇:
TypeScript三斜线指令发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap