TypeScript之泛型

荒凉一梦 提交于 2019-12-03 20:29:42

什么是泛型,有什么用?

 泛型字面意思就是广泛的类型,怎么样才算广泛呢?当然是能变的最广泛嘛,

所谓泛型就是类型的变量写法,让你的变量的类型是动态可变的,应用场景如官方文档描述的例子:

一个函数,输入什么类型,就输出什么类型,如下:

function identity<T>(arg: T): T { return arg; }

泛型使用方式在<>中声明变量(<type>),在作用域内部使用

函数中:function identity<T>(arg: T): T { return arg; }

接口中:interface GenericIdentityFn<T> { (arg: T): T; }

类中:class GenericNumber<T> { zeroValue: T; add: (x: T, y: T) => T; }

泛型约束

interface Lengthwise { length: number; }

function loggingIdentity<T extends Lengthwise>(arg: T): T {

console.log(arg.length);

// Now we know it has a .length property, so no more error return arg;

}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!