1.理解TypeScript
TypeScript 是 JavaScript 的類型的超集碱妆,支持ES6語法番舆,支持面向?qū)ο缶幊痰母拍铌羌茫珙悺⒔涌谙朋稀⒗^承咸产、泛型等奢浑,具體的關(guān)系饮焦,看圖其是一種靜態(tài)類型檢查的語言,提供了類型注解拒垃,在代碼編譯階段就可以檢查出數(shù)據(jù)類型的錯誤
同時擴展了 JavaScript 的語法停撞,所以任何現(xiàn)有的 JavaScript 程序可以不加改變的在 TypeScript 下工作
為了保證兼容性,TypeScript 在編譯階段需要編譯器編譯成純 JavaScript 來運行悼瓮,是為大型應(yīng)用之開發(fā)而設(shè)計的語言戈毒,如下:
ts文件:
const hello: string = "Hello World!";
console.log(hello);
編譯后:
const hello = "Hello World!";
console.log(hello);
2.TypeScript的特性
類型批注和編譯時類型檢查 :在編譯時批注變量類型
類型推斷:ts 中沒有批注變量類型會自動推斷變量的類型
接口:ts 中用接口來定義對象類型
枚舉:用于取值被限定在一定范圍內(nèi)的場景
泛型:寫代碼時使用一些以后才指定的類型
名字空間:名字只在該區(qū)域內(nèi)有效,其他區(qū)域可重復(fù)使用該名字而不沖突
元組:元組合并了不同類型的對象横堡,相當(dāng)于一個可以裝不同類型數(shù)據(jù)的數(shù)組
等等······
類型批注
通過類型批注提供在編譯時啟動類型檢查的靜態(tài)類型埋市,對于基本類型的批注是 number、bool 和 string命贴,而弱或動態(tài)類型的結(jié)構(gòu)則是 any 類型
類型推斷
當(dāng)類型沒有給出時道宅,TypeScript 編譯器利用類型推斷來推斷類型,如下:
let str = "string";
變量 str 被推斷為字符串類型胸蛛,這種推斷發(fā)生在初始化變量和成員污茵,設(shè)置默認(rèn)參數(shù)值和決定函數(shù)返回值時
如果缺乏聲明而不能推斷出類型,那么它的類型被視作默認(rèn)的動態(tài) any 類型
3.和JavaScript 區(qū)別
TypeScript 是 JavaScript 的超集葬项,擴展了 JavaScript 的語法
TypeScript 可處理已有的 JavaScript 代碼泞当,并只對其中的 TypeScript 代碼進行編譯
TypeScript 文件的后綴名 .ts ,JavaScript 文件是 .js
在編寫 TypeScript 的文件的時候就會自動編譯成 js 文件