本文主要介绍TypeScript的基础用法
1.基础类型
布尔值
1 |
|
数字
注:支持十进制、十六进制、ECMAScript 2015中引入的二进制和八进制字
1 |
|
字符串
1 |
|
symbol
注:symbol类型的值是通过Symbol构造函数创建的,Symbols是不可改变且唯一的。
1 |
|
数组
1 |
|
元组
注:元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同
1 |
|
枚举
注:元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同
1 |
|
Any
注:代表任意类型,它会跳过编译类型检查,新手往往会把TypeScript强行写成AnyScript
1 |
|
Void
注:与any相反,代表没有任何类型
1 |
|
Null 和 Undefined
注:默认情况下null和undefined是所有类型的子类型。 就是说你可以把 null和undefined赋值给number类型的变量。
你指定了–strictNullChecks标记,null和undefined只能赋值给void和它们各自。
1 |
|
Never
注:表示那些永不存在的值的类型。never类型是任何类型的子类型,也可以赋值给任何类型
1 |
|
Object
注:表示非原始类型,也就是除number,string,boolean,symbol,null或undefined之外的类型。
1 |
|
泛型
注:把类型明确的工作推迟到创建对象或调用方法的时候才去明确的特殊的类型。
1 |
|
类型断言
注:以预期的类型编译,相当于类型转换。
在TypeScript里使用JSX时,只有 as语法断言是被允许的。
1 |
|
2.类
类的实质是一种引用数据类型,类的实例称为对象。
基础类
注:constructor 定义构造函数, 这个函数会在 new 创建类实例的时候被调用。
1 |
|
继承
注:继承的关键字 extends。
1 |
|
修饰符
注:public(默认),代表公有的,可以自由访问。
private 代表私有的,只能在类的内部访问。
protected 与 private相似,但可以在派生类中访问。
readonly 只读属性必须在声明时或构造函数里被初始化。
static 静态属性,存在于类的本身,而不是实例化。
1 |
|
参数属性
注:在参数中定义并初始化一个成员。
1 |
|
存取器
注:通过getters/setters来截取对对象成员的访问。
1 |
|
抽象类
注:抽象类做为其它派生类的基类使用,abstract 关键字是用于定义抽象类和在抽象类内部定义抽象方法。
1 |
|
3.接口
接口的作用就是为例规范Object的类型
普通接口
1 |
|
可选属性
注:带有可选属性的接口与普通的接口定义差不多,只是在可选属性名字定义的后面加一个?符号
1 |
|
只读属性
注:只在创建的时候可以赋值
1 |
|
ReadonlyArray
注:把所有可变方法去掉,确保数组创建后再也不能被修改。
1 |
|
额外的属性检查
注:避免可选属性接口中额外的属性导致的错误。
1 |
|
函数类型
注:规范函数的参数列表和返回值。
1 |
|
可索引的类型
注:规范通过索引得到的类型。
1 |
|
类类型
注:规范类的类型。实现类型的关键字 implements。
1 |
|
继承接口
注:一个接口可以继承多个接口,创建出多个接口的合成接口。
1 |
|
混合类型
注:一个对象可以同时做为函数和对象使用,并带有额外的属性。
1 |
|
接口继承类
注:当接口继承了一个类类型时,它会继承类的成员但不包括其实现,接口同样会继承到类的private和protected成员。
1 |
|