TypeScript教程(十)泛型

来源:程序思维浏览:1553次
泛型是指在定义函数、接口或类的时候,不预先指定具体类型,而在使用的时候在指定类型的一种特性,比如定义一个带有参数的函数,未来在调用这个函数时,传入的值类型不确定,有可能是string,也有可能是number,这时可以使用泛型来解决这样的问题。

TypeScript泛型

接下来看一下代码示例:

function createArray<T>(length:number,value:T):Array<T>{
    let arr=[];
    for(let i=0;i<length;i++){
        arr[i]=value;
    }
    return arr;
}
var strArray:string []=createArray<string>(3,"1");//使用这个函数
console.log(strArray); //结果:[ '1', '1', '1' ]
var numArray:number []=createArray(3,2);//如果不传<number>可以进行类型推断
console.log(numArray);//结果:[ 2, 2, 2 ]

注意上面代码加粗的地方,在声明的createArray函数后面添加<T>这样的形式是添加泛型T是自定义名称代表Type的意思,可以写成任何字符,该函数的value参数设置为T类型,Array<T>代表该函数返回值是数组类型,该数组里面值的类型为T,这个T可以想象成是一个问号,表示未来传什么样类型的值不确定。接下来使用这个函数createArray<string>(3,"1"),尖括号里面的string,会替换掉声明时createArray函数中的T,表示传入的值为string类型,这就是所谓的在使用的时候指定类型。如果在使用函数时不传入<string>或<number>,TypeScript会自动根据值的类型进行类型推断。
精品好课
Vue2+Vue3+ES6+TS+Uni-app开发微信小程序从入门到实战视频教程
2021年最新Vue2+Vue3+ES6+TypeScript和uni-app开发微信小程序从入门到实战视频教程,本课程教你如何快速学会VUE和uni-app并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己...
HTML5视频播放器video开发教程
适用人群1、有html基础2、有css基础3、有javascript基础课程概述手把手教你如何开发属于自己的HTML5视频播放器,利用mp4转成m3u8格式的视频,并在移动端和PC端进行播放支持m3u8直播格式,兼容...
最新完整React视频教程从入门到精通纯干货纯实战
React是目前最火的前端框架,就业薪资很高,本课程教您如何快速学会React并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习React高薪就...
VUE2+VUE3视频教程从入门到精通(全网最全的Vue课程)
VUE是目前最火的前端框架之一,就业薪资很高,本课程教您如何快速学会VUE+ES6并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习VUE高薪就...
React实战视频教程仿京东移动端电商
React是前端最火的框架之一,就业薪资很高,本课程教您如何快速学会React并应用到实战,对正在工作当中或打算学习React高薪就业的你来说,那么这门课程便是你手中的葵花宝典。
最新完整React+VUE视频教程从入门到精,企业级实战项目
React和VUE是目前最火的前端框架,就业薪资很高,本课程教您如何快速学会React和VUE并应用到实战,教你如何解决内存泄漏,常用库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习Re...
HTML5基础入门视频教程易学必会
HTML5基础入门视频教程,教学思路清晰,简单易学必会。适合人群:创业者,只要会打字,对互联网编程感兴趣都可以学。课程概述:该课程主要讲解HTML(学习HTML5的必备基础语言)、CSS3、Javascript(学习...
jQuery视频教程从入门到精通
jquery视频教程从入门到精通,课程主要包含:jquery选择器、jquery事件、jquery文档操作、动画、Ajax、jquery插件的制作、jquery下拉无限加载插件的制作等等......
收藏
扫一扫关注我们