TypeScript 是什么
[TypeScript]是一種由微軟開發(fā)的自由和開源的編程語言麸塞。它是 JavaScript 的一個(gè)超集,而且本質(zhì)上向這個(gè)語言添加了可選的靜態(tài)類型和基于類的面向?qū)ο缶幊套×贰ypeScript 擴(kuò)展了 JavaScript 的句法,所以任何現(xiàn)有的 JavaScript 程序可以不加改變的在 TypeScript 下工作。TypeScript 是為大型應(yīng)用之開發(fā)而設(shè)計(jì)痢虹,而編譯時(shí)它產(chǎn)生 JavaScript 以確保兼容性武氓。
[圖片上傳中梯皿。。县恕。(1)]ts-and-es-feature.png
TypeScript是Es6的超集 大概是Es7的實(shí)現(xiàn)
1.編譯型語言(js是解釋型語言)
2.強(qiáng)類型
3.真面向?qū)ο?有接口东羹、有泛型、有枚舉忠烛、有訪問修飾符
4.它遵循AMD規(guī)范
//AMD 是 RequireJS 在推廣過程中對(duì)模塊定義的規(guī)范化產(chǎn)出属提。
//CMD 是 SeaJS 在推廣過程中對(duì)模塊定義的規(guī)范化產(chǎn)出。
比javascript還java的script
typescript是不能直接運(yùn)行在瀏覽器
需要編譯:
1.下載
cnpm install -g typescript
2.編譯
tsc xxx.ts
類型:(number美尸、string冤议、boolean、symbol火惊、void求类、null、undefined屹耐、enum尸疆、any)
var a:類型
1.好理解
number、string惶岭、boolean寿弱、null、undefined按灶、
2.void 空 一般用于返回值
3.null undefined 它們 都是只有一種值
4.ennum(枚舉)--enumerate
有限的可能性(性別症革、星期)
5.any(變體變量:可以存任何類型)
js里面原本的變量
6.微軟:工具:(vb、vc)和tsc 語言:(.net鸯旁、asp)
類型推測(根據(jù)初始化值推測類型官方叫 隱試類型聲明):
var a=12 等于 var a:number
var a; 等于 var a:any
7.沖突檢測:(編譯器會(huì)自動(dòng)排出掉無用的選項(xiàng))
雖然比不了jdk里面的javac 但是已經(jīng)很不錯(cuò)了
8.聯(lián)合類型:
var a=number|boolean;
9.數(shù)組也有類型(也有泛型):
var arr:類型[]=xxxxx;
函數(shù)類型:
1.參數(shù)
有類型
簽名檢查--個(gè)數(shù)噪矛、類型 得對(duì)
外部聲明變量: declare
2.返回值
10.復(fù)合類型(Object Type):
var a:{x:number,y;number,z?}
a={x:12,y:5}
接口(interface):
*和java的接口類不一樣
汽車(接口):加油、開铺罢、停....
真面向?qū)ο?
class寫法艇挨、extend、多繼承...
訪問修飾符:
1.public 公有 任何人可以訪問
2.private 私有 只有類內(nèi)部可以訪問
3.protected 受保護(hù)(友元) 只有子類能用
泛型: 別跟any搞混了韭赘?
any:類型隨便
泛型:類型隨便 假如是類型number 里面必須所有都是number
Array:內(nèi)部其實(shí)是泛型