TypeScript
編譯。
強類型。
真面向對象 : 有接口、有泛型、有枚舉、有訪問修飾符。
AMD 模塊方式。
比 JavaScript 還 java 的 Script
準備工作
1. 下載:
npm install -g typescript
開發工具: atom-typescript
2. 編譯ts 程序
tsc 某某某. ts
* .ts * .tsx * .d.ts
有類型的 script
var a: 類型
number 、 string 、 boolean 、 symbol? 、 void 、 null 、undefined 、 Enum 、 any‘
-
好理解
number string boolean null undefined
-
void- 空
一般用于 返回值
-
null 、 undefined
boolean-true,false
null - 只有一種值 null
undefined 只有一種值 undefined
enum (枚舉) ---- enumerate
有限的可能性
性別
星期
enum WEEK{
SUN,
SAT,
TUS,
FRE
}-
變體變量: any
js 里面 原本的變量var a;
a = 12;
a = 'abc';
number string boolean null undefined any
enum
- 類型推測(隱式類型聲明)-- 更具初始化的值 推測類型
var a = 12;
var a:number = 12;
var a;
var a:any;
-
沖突檢測
編譯器 會 自動排除掉 無用的選項。
-
聯和類型。
var a = number | boolean;
-
數組 也有類型。
var arr = [1,2,3] ;
var arr:number[] = [1,2,3]var arr: xxx[];
1.配置 ts 環境 編譯
npm install -g typescript
tsc xxx . ts
-
類型
基本類型: ...
聯和類型: 選擇
var a : string | boolean;
類型推測(隱式類型聲明)
var a = 12; var a : number = 12;
數組類型:
var arr:number[];
函數類型:
1 . 參數
有類型
簽名檢查------- 個數、類型得對
2 . 返回值
外部變量聲明
declare var 名字
類型:
1 . 基本類型
2 . 聯合類型
3 . 函數簽名
success:( a,b ) =>void
4 . 復合類型 (Object , Type)
var a : {x:xx,y:xx};
接口 - interface
- 接口 和 java 不同。
class Click implements inter
接口: 約定、限制。
真 面向對象:
class 寫法、extend 、 多繼承
訪問修飾符
1. public 公有 任何人可以訪問
2. private 私有 只有類內部可以訪問
3. protected 受保護-友元 只有子類能用
泛型: 別根 “any” 搞混了
泛----寬泛
Array-----泛型
interface Array<T>{
reverse() : T[ ];
sort(compare?:(a:T , b:T) => number):T[]
...
}
1 . 環境
typescript
2 . 類型 ---- 變量、參數、返回值、函數簽名、聯和類型、復合類型、基本類型
3 . 可選參數
4 . class寫法
5 . interface----約定、規范
6 . 泛型