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