TypeScript 泛型-认识泛型

泛型在 Java 、C# 或者是其他语言中都存在,他的主要好处就是在你定义的时候不知道数据类型,你可以在使用的时候根据情况自定义这个数据 类型。

image.png

源码

  • ts
//先定义一个简单的函数
//参数为 number 类型,返回值为 number 类型
// function  Hello(num:number):number {

//  return num;
// }

//上面的函数如果说是我们不确定需要传递的参数是什么类型的话就直接用不了了
//以之前的知识你可能会用如下的方法解决
// function  Hello(arg:any):any {

//  return arg;
// }
//上面的解决方法虽然可以用,但是这样写的话他就没有一个明显的规范了,容易出现类型的转换错误,这个一直是我们使用 TypeScript 所要避免的问题,所以很明显使用 any 是不合理的


//这个时候就可以使用泛型来解决上面所出现的问题
//书写格式 <T> 中间的大写字母 T 其实也可以是其他的大写字母, 但是我们常规的话都是使用的 T,所以就直接使用的 T 
//声明一个函数 指定函数的类型为泛型
//同时要指定参数还有函数的返回值也是泛型,这样就是一个泛型的执行方法
function Hello<T>(arg:T):T{

    return arg;
}
//使用泛型
//声明一个接收函数返回值的变量
//这里的 <string> 这个就是泛型的好处,当你之前声明函数时不知道数据类型,可以在使用的时候根据情况自定义这个数据类型
let output = Hello<string>('hello xiaochuan');//这里因为在前面定义了函数类型为 string 所以参数的类型也必须是 string
alert(output);//'hello xiaochuan' 这里返回的值就是传入的参数
  • HTML
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>TypeScript 泛型-认识泛型</title>
</head>
<body>
    <script type="text/javascript" src="GenericsDemo.js"></script>
</body>
</html>
  • 浏览器效果图
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,327评论 25 709
  • 1,早上终于不在周末的早晨睡大懒觉了。并且做了早餐,和孩子一起饱饱地吃了一顿! 2,上围棋课时,孩子过于兴奋,气得...
    桐娘娘阅读 1,150评论 0 0
  • 生活的快节奏,找工作的压力,让我的内心在逐渐回温的天气里,更加焦躁了。 索性在网上买了一堆菜种,花种,打算走文艺路...
    吃货孩子驾到阅读 1,137评论 4 1
  • 2016.2.7编号13 阅读本书,能让父母更了解自己的孩子、“读懂”自己的孩子。 家庭是孩子在漫漫人生...
    f65d0cc1f4f0阅读 1,280评论 0 0
  • 《一个叫欧维的男人决定去死》 弗雷德里克.巴克曼 姓名:欧维 性别: 男 国籍: 瑞典 婚否: 已婚 年龄:...
    沐阳丫头阅读 4,162评论 2 2