「这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战」。
复习一下
第一章我们学到了如何去看ts的文档,触类旁通应该会对英文版本的文档不那么恐惧。
上节回顾:从0开始Ts之01-文档阅读
Eyery Types
Tips: 看文档时我们可以注意右侧的索引表
现在我们开始第二章的内容,看看日常常用的type都有什么。同时来看看除了常用的功能点之外,文档还有没有告诉我们其他的小技巧。
The primitives:string, number,boolean
最基础的值类型,
- string 字符串
- number 数字
- boolean 布尔
Arrys 数组类型
数组类型有两种写法
any
当一个值为any的时候,你可以访问他的任何属性,且不会报错。
noImplicitAny
这个类型可以将隐含的any类型标记为错误。
Type Annotations on Variables
类型标记
Functions
方法
Function可以指定函数输入输出的类型。
Parameter Type Annotations
类型参数注释
Return Type Annotations
返回类型注释
Anonymous Functions
匿名函数
当一个函数出现在可以决定如何调用它的地方,该函数的参数将自动给定类型。
此处会自动判断s是否有toUppercased的方法。
Object Types 对象类型
pt部分就是一个对象类型的展示
Optional Properties
可选属性
Union Types
工会类型
基于上面的基础类型,我们可以开始对基础类型进行组合。
Defining a Union Type
定义联合类型
组合类型的第一种方法就是联合类型。顾名思义,联合类型就是由两个或者多个其他成员类型组成的类型,表示可能是其中任何一个类型的值。我们可以将这些类型中的每一种称为公会成员(union's menbers)
Working with Union Types
与工会类型一起工作
此处有一处小规则,类型取值规则会进行代码缩小联合,即类型收缩(代码类型的交集)。例:
Type Aliases
类型别名
Interfaces 接口
接口是命名对象类型的另一种形式。
也可以接口继承
类型与接口的区别
Interface: 可继承、可向现有接口添加新的字段
Type:通过交叉点扩展类型
Type Assertions
类型断言
类型断言有两种写法
Literal Types
文字类型
"XXX" 文字也可以作为类型描述
Literal Interface
字面推理
不设置类型的变量定义会根据所赋的值进行参数的推理
null and undefined
strictNullChecks
off 关闭不校验 null
on 进行严格校验
Non-null Assertion Operator
非空断言运算符,后缀(!)
Enum 枚举值
会单开一个部分来描述
Less Common Primitives
bigint 大整数
symbol 全局唯一Symbol引用
--- END ---
下节预告: 从0开始Ts-03 Function类型