泛型
要创建一个可重用的组件,其中的数据类型就必须要兼容很多的类型,那么如何兼容呢,TypeScript提供了一个很好的方法:泛型
Hello World
要兼容多种数据格式,可能会有人想到any,即
function identify(arg: any): any{ return arg; }
使用any存在一个问题,有可能传入的值和返回的值不是同一种值,例如,传入数字,但是不确定返回的是什么值
要解决这个问题,我们需要引入类型变量-一种特殊的变量,只用于表示类型不表示值
function identity<T>(arg: T): T { return arg; }
给identify添加了类型变量T,用来捕获传入值的类型,然后将返回值的类型也设置为T,就实现了传入值和返回值为同一类型值的需求
我们把identify这个函数叫做泛型,因为它适用于所有类型,并且不会有any类型存在的问题
使用泛型的方法有两种:
1、传入所有的参数,包括类型参数
let output = identify<string>('qwe');
2、利用类型推论--即编译器会根据传入的参数自动地帮助我们确定T的类型
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26