typescript入门之:泛型函数、泛型类

    技术2022-07-12  83

    一、泛型函数

    第1种
    interface Config1{ <T>(value:T):T; } let getData1:Config1=function<T>(data:T):T{ return data; } getData1<string>("小猪猪");
    第2种
    interface Config2<T>{ (value:T):T; } function getData2<T>(value:T):T{ return value; } let myData:Config2<string>=getData2; myData("20");
    第3种(相对简洁+好理解好记忆)
    interface Config3<T>{ (value:T):T; } let getData3:Config3<string>=function(data:string):string{ return data; }

    二、泛型类

    class User{ useName:string; password:number; constructor(userData:{useName:string, password:number}){ this.useName=userData.useName; this.password=userData.password; } } let user=new User( { useName:"小猪猪", password:12233 } ); //定义泛型类 class MongoDB<T>{ add(info:T):boolean{ console.log(info); return true; } } //将User类传入MongoDB的泛型入口,检测输入数据的类型是否正确 let dataBase = new MongoDB<User>(); dataBase.add(user);
    Processed: 0.012, SQL: 9