2018-08-17 typescript

TypeScript

  1. 编译。

  2. 强类型。

  3. 真面向对象 : 有接口、有泛型、有枚举、有访问修饰符。

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‘

  1. 好理解

    number string boolean null undefined

  2. void- 空

    一般用于 返回值

  3. null 、 undefined

    boolean-true,false

    null - 只有一种值 null

    undefined 只有一种值 undefined

  4. enum (枚举) ---- enumerate
    有限的可能性
    性别
    星期
    enum WEEK{
    SUN,
    SAT,
    TUS,
    FRE
    }

  5. 变体变量: any
    js 里面 原本的变量

    var a;
    a = 12;
    a = 'abc';

number string boolean null undefined any
enum

  1. 类型推测(隐式类型声明)-- 更具初始化的值 推测类型
var a = 12;

var a:number = 12;

var a;

var a:any; 
  1. 冲突检测

    编译器 会 自动排除掉 无用的选项。

  2. 联和类型。

    var a = number | boolean;

  3. 数组 也有类型。

    var arr = [1,2,3] ;
    var arr:number[] = [1,2,3]

    var arr: xxx[];


1.配置 ts 环境 编译

npm install -g typescript

tsc    xxx . ts
  1. 类型

    基本类型: ...

    联和类型: 选择

     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 . 泛型

推荐阅读更多精彩内容