泛型可以是任意类型在使用时指定即可 // 函数名后面插入尖括号,写入泛型名称T,参数和返回类型都是Tfunctionecho<T>(arg:T):T{returnarg}conststr:string='字符串'// result 是 string 类型constresult=echo(str)// 也可以不指定类型, ts 可以自动推断出类型constresult=echo(123)// 此时 result 为 number 类...
const strings = reverse(["a", "b", "c"]); // 类型是 string[] 在这个例子中,我们定义了一个泛型函数reverse,它可以反转任何类型的数组。TypeScript会根据我们传入的参数自动推断出T的类型。 泛型接口 泛型不仅可以用于函数,还可以用于接口: interface Box<T> { value: T; } let numberBox: Box<number...
console.log(obj);//Person { name: '老帆', age: 30 } 8、泛型高级用法之keyof(重要) 先看下面的代码 interface Person { name: string age: number gender: string } class Teacher { constructor(public info: Person) { }getInfo(key: string) {returnthis.info[key] } } const teacher=newTeacher...
泛型是指在预先定义函数、接口或者类的时候,不预先指定数据的类型,而是在使用的时候指定。 interface Test<T = any> { name: T } type A = Test<string> const a: A = { name: 'string' } 发布于 2021-06-23 20:25 TypeScript 赞同1添加评论 分享喜欢收藏申请转载 ...
const 返回值 = 泛型函数名<类型1,类型2,...>(实参1,实参2,实参3,...) 1. 示例: const num = fn<number>(10) const str = fn<string>('a') 1. 2. 当传入类型 number 后,这个类型就会传递给函数声明时对应的类型变量 通过泛型就做到了让 fn 函数与多种不同的类型一起工作,实现了复用的同时保...
// 泛型:在定义函数、接口、类的时候不能预先确定要使用的数据类型(()=>{// 需求:定义一个函数,传入两个参数,第一个参数是数据,第二个参数是数量// 根据数量产生对应个数的数据,存放在一个数组中// function getArr(val:number,count:number):number[]{// // 根据数据和数量产生了一个数组// const ar...
TS泛型理解学习笔记 概念定义 泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性,使接口,函数或类更加通用 1.简单演示 function fn<T> (value: T) : T { return value }; const num: number = 11...
TS中定义泛型接口的两种方式 // 泛型接口定义 //方式一 interface ConfigFn{ <T>(value:T) :T } const getData:ConfigFn = function<T>(value:T) :T{ return value } getData<number>(1) getData<string>("qwe") // 方式二 /* interface ConfigFn<T>{ ...
//创建一个泛型类classQueue<T>{privatedata:T[]=[];push=(item:T)=>this.data.push(item);pop=():T|undefined=>this.data.shift();}//简单用例constqueue=newQueue<number>();queue.push(0);queue.push('1');//错误,不能放入一个string类型的数据,只能是number类型的。
给组件添加泛型约束: constcmp=<TextendsTagNames>({tagName,...props}:{tagName:T}&Partial<TagElement<T>>)=>{//...} Vue 提供了一个函数用于创建 vnodes。这是一种约定俗成的实现虚拟DOM的方式,用JavaScript来生成html标记语言。它的第一参数是必填的,可以是html标签,也...