TypeScript 是 JavaScript 的超集,由微軟公司在 2012 年正式發(fā)布每篷。
環(huán)境搭建: npm install -g typescript
1、運行HelloWorld?新建demo1.ts并寫入如下代碼
????????運行 node demo1.ts會報錯
????????需運行 “tsc?demo1.ts”?將ts文件轉(zhuǎn)換為js文件,“node demo1.js”满哪,即可打印HelloWorld。
? ? ????或者安裝可以運行ts的插件 npm install -g ts-node劝篷,安裝后執(zhí)行“ts-node xxx.ts”
2哨鸭、靜態(tài)類型
? ? ? ? ?基礎(chǔ)靜態(tài)類型:“變量命名:類型” const count: number =1;
3、函數(shù)定義
? ? ? 注解
????????類型注解(type?annotation):常用于方法中娇妓,來定義參數(shù)類型像鸡,參見add
? ? ? ? 類型推斷(type?inferrence):ts會自動推斷出one是數(shù)字類型? ?const?one?=?123
? ? ? 參數(shù)
? ? ? ? 可選參數(shù) stature?:?string?
? ? ? ? 有默認值的參數(shù)? stature:?string='水桶腰'
? ? ? ? 對象類型參數(shù):function?add({one,?two}:{one:number,?two:number}) {}
? ? ? 返回值
????????void? ? ? 返回值為空
? ? ? ? never? ? 永遠執(zhí)行不完
? ? ? 函數(shù)定義的方法
4、接口哈恰、類型別名和引用類型
? ? ? ? 接口和類型別名功能相似只估,可根據(jù)自己喜好使用
? ? ? ? 接口參數(shù)可增加任意類型:? [propname:?string]:?any;
????????類型別名: type?Person?=?{?name:?string,?age:?number?}
????????????const?pers:?Person[]?=?[
????????????????{?name:?'adkl',?age:?23?}, {?name:?'adkl',?age:?23?},
? ? ? ? ? ? ]
????????引用類型:??數(shù)組,String着绷, Data蛔钙, RegExp
5、類? —? 關(guān)鍵字的使用和java一樣
? ? ????抽象類:abstract classGirl {? abstract skill() }
????????????因為沒有具體的方法荠医,所以我們這里不寫括號吁脱,子類中必須做方法的實現(xiàn)
? ? ????范圍修飾符????private? 只允許在類的內(nèi)部被調(diào)用
????????范圍修飾符????protected? 只允許在類內(nèi)及繼承的子類中使用
????????范圍修飾符????public(默認值)? 在內(nèi)部外部都可以訪問
? ? ? ? 屬性修飾符????readonly 只可讀取,不可修改
????????類的繼承使用關(guān)鍵字:extends??
? ? ? ? ? ? 子類constructor方法中:必須調(diào)用super();
6彬向、命名空間