首页 >> 大全

TypeScript中泛型及泛型函数、泛型类、泛型接口,泛型约束,一文读懂

2023-09-10 大全 25 作者:考证青年

最近在学,然后整理了一下关于中泛型的一些笔记。

泛型的定义( type 或者 )

泛型是语言中的一种特性。 是程序设计语言的一种特性。泛型是一种参数化类型。

定义函数或方法是的参数是形参,调用此函数或方法时传递的参数值是实参。

泛型一般用来处理多个不同类型参数的方法。就是在方法中传入通用的数据类型,使多个方法合并成一个。

可以将类型参数化 好处:达到代码复用、提高代码通用性的目的。

将类型由原来具体的类型变成一种类型参数,然后在调用时才传入具体的类型作为参数,调用时传入的类型称为类型实参。

泛型函数的定义

函数名(参数1:T,...,参数n:类型):返回类型 { //函数体 }

function 函数名(参数1:T,...,参数n:类型):返回类型 { //函数体 }

泛型类的定义

class 类名{ //属性和方法签名}

class 类型{ //属性和方法签名
}

泛型接口的定义

接口名{ //属性和方法签名 }

Interface 接口名{ //属性和方法签名}

共同点: 必须使用括起参数 T , 跟在 函数名||类名||接口名 后面, 后续用T来表示此类型。

泛型变量 T ( type )

泛型变量( type )一般用大写字母 T 表示,如果有多高不同的泛型变量,可以同时用T、U、K表示。

T 必须放在中间

一般不能单独出现,会出现在类 函数、 接口 、中 ,在函数体内,编译器不知道泛型变量T具体数据类型,只能认为其为 任意值(any) 类型

泛型约束

泛型参数T类似于any类型,可以表示任意值。但是有些情况下,函数需要处理的数据有一定的约束,比如有一个泛型函数需要访问泛型参数T的属性,并加1。基于这种需求,必须对泛型参数T进行约束,也就是泛型约束。

泛型约束语法: T 接口或者类

/**** * 泛型约束接口示例代码*/Interface iGeneric{ length:number;}/**** * 泛型约束类的示例代码* */
class GenericAdd{arg:T;add(arg:T):boolean{this.arg = arg;arg.length++;return true;    }getLength(){return this.arg.length;}
}

PS:爱学习的学友,爱前端,爱前端,爱运营,爱推广,爱交朋友。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了