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