泛型T
// 泛型: 动态类型 // 用泛型整合下面2个函数为一个函数 function A(a:number,b:number):number[] { return [a,b] } function B(a:string,b:string):string[] { return [a,b] } // T是自定义的,只是常用T,用其他代替也行,使用泛型去代替未确定的类型 function C<T>(a:T,b:T):Array<T> { return [a,b] } // 此时调用时会自动推断该类型,传入不同类型都可以 C('1','4') C(1,4) // 可以使用多个泛型 function D<T,K>(a:T,b:K):Array<T | K> { return [a,b] } D(1,'5') // 可以传入默认值 function Y<T = number,K = boolean>(a:T,b:K):Array<T | K> { return [a,b] } //Y() // 此时会推断参数为number和boolean Y('222',{}) // 传入其他类型会被覆盖 // type使用泛型 type E<T> = string | number | T const G:E<boolean> = true // 此时type E = string | number | boolean // interface使用泛型 interface H<T> { msg: T } const K:H<string> = { msg: '通过了' }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现