***給博主點贊,送一套Webpack打包配置,最下方有介紹***
TypeScript VS prop-typestypescript
1.TypeScript是靜態類型檢查,prop-types是在運行時進行檢查。 前者會提示你類型有誤,但在瀏覽器裏是能夠正常運行的。而 prop-types是在瀏覽器裏就會給出提示。 2.PropTypes是組件接收prop的約束,而typescript類型約束主要是參數傳遞以及返回值的約束,側重點不同
1.基礎類型數組
boolean number string any[] number[] string[] {另外一種寫法 Array[any] } void Object
2.斷言瀏覽器
let strlength:number= (somevalue as string).length 目的:防止somevalue因爲類型錯誤致使頁面報錯
3.接口類型ui
interface Label{ label:string }
4.經過extends 來繼承類
5.默認參數spa
(1).必填的放前面; (2).選填加問號
6.多參數類型定義rest
function buildName(firstName: string,...restOfName:any[]){ }
7.泛型code
泛型就是解決 類 接口 方法的複用性、以及對不特定數據類型的支持(類型校驗) 泛型:軟件工程中,咱們不只要建立一致的定義良好的API,同時也要考慮可重用性。組件不只可以支持當前的數據類型,同時也能支持將來的數據類型,這在建立大型系統時爲你提供了十分靈活的功能。 在像C#和Java這樣的語言中,可使用泛型來建立可重用的組件,一個組件能夠支持多種類型的數據。 這樣用戶就能夠以本身的數據類型來使用組件。
例子:對象
function getData<T>(value:T):T{ return value }
8.兼容性blog
變量賦值的兼容性,賦值以後應該對舊值的屬性要求有沒有改變才容許賦值
9.交叉類型繼承
就是說這個類型的對象同時擁有了這三種類型的成員
10.聯合類型
padding: any 轉成 padding: string | number 可是當訪問聯合類型時,只能訪問共有成員,避免出錯,須要類型斷言
11.迭代器和生成器
let pets = new Set(["Cat", "Dog", "Hamster"]); pets["species"] = "mammals"; {...pets} //{species: "mammals"} [...pets] // ["Cat", "Dog", "Hamster"] 很無敵,對象和數組都放在一塊兒了
12.模塊
export和import均可以導出重命名 ts官方文檔如是說:TypeScript和ECMAScript2015同樣,任何包含頂級import或者export的文件都被當成一個模塊。其實,也不必定是頂級。以上就是對什麼叫模塊的簡單認知。
13.聲明合併
interface Box { height: number; width: number; } interface Box { scale: number; } let box: Box = {height: 5, width: 6, scale: 10};
須要的聯繫博主