Vue3—17—TypeScript之類、接口、枚舉、泛型、類型聲明等


 


 

一、類

 

 

 

 

 

 

 

 

只讀屬性可以在構造器里賦值,但是賦值之后就不可以修改了;

 

可以使用訪問器來訪問私有private的屬性;這個比java語言要自己寫setNmae()和getName()方法要方便一些,但是都差不多;

 

 

二、接口

接口和type都可以實現對象類型的定義,

但是interface可以對同一個名字重復定義並且將同一名字的屬性合並,type由於只是個別名所以不可以重復。

推薦使用interface定義對象;

 

 

字面量賦值:

ts說白了就是幫助我們進行數據類型檢測的,有些時候它的類型檢測可能並不智能,這個時候可以使用這種方式跳過它的類型檢測;

 

 

 

 

 

三、枚舉

枚舉首先也是一種數據類型, 有點類似字面量類型+聯合類型的綜合體;

就是我們自定義一些 名稱常量等;

但是枚舉的可讀性非常強,我們可以使用枚舉名.屬性名;

 

使用type來定義一個數據類型;

使用enum來定義一個常量集合;

 

 

枚舉默認按照順尋有0,1,2,3等值;

 

 

 

 

 

 

四、泛型

4.1什么是泛型?

實際上就是類型的參數化,將我們的類型在定義的時候不要寫死,具體是什么類型由調用者傳入的參數來決定;

但是又不要用any來定義,如果是any那么以后返回的類型也是any了,但是使用泛型,以后返回的類型就是調用者所傳入的;

 

 

4.2 類型變量type,將不確定類型使用type這個參數替代

 

 

 

 

 4.3 多個類型,多個參數替代

 

 

 4.4   接口和類的泛型

除了函數可以使用泛型之外,接口和類在定義的時候,也可以使用泛型;

 

 

 

 

 

 

 4.5泛型約束

通過讓泛型繼承一個接口,而使得這個泛型有了一定的約束,有了傳入過來的參數必須要有的屬性,變得沒那么廣泛了;

 

 

 

 

 

 

 

 

 

 

五、ts的模塊化

js有模塊化開發,ts也肯定有,並且除了js的esModule方式,還支持CommonJs方式;

 

 

5.2類型查找

 

 

 

5.3類型申明

ts使用第三方庫、使用文件(圖片文件等)一定要在.d.ts文件里有類型申明;

  • 內置聲明:ts幫助我們申明好了;
  • 外部定義申明:我們引入的第三方庫會有自己申明好的;或者下載別人神明好的文件;
  • 自定義申明: 自己申明,記住,只是申明有這個東西即可,不需要在.d.ts里實現,具體實現應該在其他文件;

如果申明了,才可使用import等方式導入吧;

 

 

 

 

 

 5.4如何申明?

 

 

 

 

 

 

 

 

 

 

 

 

 

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM