ts中泛型的使用


ts中泛型的使用?

 


(function(){
    /* 
        在定义函数或者类时,如果遇到类型不明确的可以使用泛型
    */
    function fn<T>(a:T) :T{
        return a
    }

    // 可以直接调用具有泛型的函数
    fn(10) //不指定泛型,ts可以自动对类型进行推断
    fn<number>(10) //指定泛型

   function fn2<T,K>(a:T,b:K) :K{
        return b
   }

   fn2<number,string>(123,'asfd')


   interface myInterface {
       name:string
   }

   type myType = {
       length:number
   }

   function fn3<T extends myType|myInterface>(a:T){
       console.log(a);

    return a

   }
   fn3<myInterface>({name:'zhanshan'})
   fn3<myType>('sad')
   fn3<myType>({length:1})



   class MyClass<T>{
       name:T
       constructor(name:T){
           this.name = name
       }
   }

   const mc = new MyClass("zhangsan")
   console.log(mc.name);


})()


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM