泛型是什么?
为什么使用泛型?
假如我们要实现一个函数fn,函数的参数可以是任何值,返回值就是将参数原样返回,并且其只能接受一个参数,应该怎么做?
虽然看着简单,但是js提供多少类型就写多少,然后声明类型,这样代码的出错率会提高,而且代码难以维护,牵一发而动全身。并且将来 JS 新增新的类型,仍然需要修改代码,很麻烦。
有一种解决方法是使用any类型这种“万能语法”,但是使用any后虽然怎么写都行,但是这样也就失去了ts类型检查的意义。
因此,,我们使用泛型对上面的代码进行重构。和我们的定义不同,这里用了一个 类型 T,这个T 是一个抽象类型,只有在调用的时候才确定它的值。
泛型的基本使用
在函数中使用
就是刚才提到的,需要什么类型就可以给什么类型,类似于函数的传参。
在接口中使用
在类中使用
泛型约束
使用接口约束泛型
数组泛型
泛型工具类型
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。