TypeScript
2019-02-24 16:51:32 33 举报
AI智能生成
TypeScript官网手册学习思维导图
作者其他创作
大纲/内容
BasicTypes
Boolean
true/false
Number
二进制
八进制
十进制
十六进制
String
单引号
双引号
反引号/模板字符串
Symbol
ES6基础类型
Null
任意类型子类型
Undefined
任意类型子类
Enum
number
string
Objet
Array
Tuple
Any
逐步使用/退出,TypeScript
Never
任意类型子类型
Void
死循环
抛异常
类型断言
(<类型>变量)
(变量as类型)
Interfaces
Optional Properties
TypeScript的接口是宽松的(lenient),只需要传递接口中声明了的属性即可
可选属性,描述可能出现的属性,阻止使用接口未定义的属性,属性名后面加?表示为可选属性
Readonly Properties
只读属性,只能在初始化的时候被改变
属性用readonly,变量用const
ReadonlyArray,ReadonlySet,ReadonlyMap<br>( all mutating methods removed, )所有的改变方法都被移除了<br>下标赋值,set等等<br> <br>
Excess Property Checks
/**<br> * 过量类型检查,excess property checks<br> * 可以使用类型断言(as)绕过,或者使用字符串索引绕过<br> * 尽量不要绕过excess property checks,<br> * 这些检查能帮你检查出潜在的BUG<br> */ <br>
Function Types
/**<br> *函数类型接口,类似于C#的委托,C/C++的函数指针,Java的函数式接口<br> * 限制:一个接口只能定义一个方法类型,且不能重载<br> *可定义其他带有名字的方法,以及属性<br> */ <br>
Indexable Types
/**<br> * 只支持number以及string索引<br> * number索引返回的类型必须是string索引的子类<br> * 因为number索引的本质也是string索引,例如a[10]等价于a['10']<br> * string索引能实现字典模式,可以强制对象所有的属性与索引的返回类型一致<br> * 索引可以设置为只读,防止修改索引的值<br> */ <br>
Class Types
/**<br> * 接口能定义属性,方法<br> * 强制类实现<br> * 类有两种类型,<br> * (类的本质也是一个Function实例,Function实例可以拥有自身的属性,methods)<br> * 静态端:静态属性,静态方法,constructor<br> * 实例端:实例属性,原型方法,实例方法<br> */ <br>
Extending Interfaces
/**<br> * 接口能继承接口,并且能多继承<br> * 可以自由组合<br> * 类似于C#,Java<br> */ <br>
Hybird Types
/**<br> * 接口可以进行混合,即在接口中声明一个函数类型,然后再声明其他属性,方法<br> * 既可以是函数(就是函数类型/函数式接口),也可以是实例对象<br> * 例如,jQuery 既是一个对象,也是一个函数,很多第三方库也是这样<br> */ <br>
Interfaces Extending Classes
/**<br> * 接口可以继承类<br> * 相当于,接口将类的所有成员重新声明了一遍,但没有实现<br> * 包括private,protected的成员<br> * 这意味着,只有基类,以及基类的子类可以实现该接口<br> * 相当于对接口的实现做了一种限制,不可随意实现<br> */ <br>
0 条评论
下一页