从0开始TS-02 基本语法

824 阅读2分钟

「这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战」。

复习一下

第一章我们学到了如何去看ts的文档,触类旁通应该会对英文版本的文档不那么恐惧。

上节回顾:从0开始Ts之01-文档阅读

Eyery Types

image.png

Tips: 看文档时我们可以注意右侧的索引表

现在我们开始第二章的内容,看看日常常用的type都有什么。同时来看看除了常用的功能点之外,文档还有没有告诉我们其他的小技巧。

The primitives:string, number,boolean

最基础的值类型,

  • string 字符串
  • number 数字
  • boolean 布尔

Arrys 数组类型

数组类型有两种写法

image.png

any

当一个值为any的时候,你可以访问他的任何属性,且不会报错。

noImplicitAny

这个类型可以将隐含的any类型标记为错误。

Type Annotations on Variables

类型标记

image.png

Functions

方法

Function可以指定函数输入输出的类型。

Parameter Type Annotations

类型参数注释

image.png

Return Type Annotations

返回类型注释

image.png

Anonymous Functions

匿名函数

当一个函数出现在可以决定如何调用它的地方,该函数的参数将自动给定类型。

image.png

此处会自动判断s是否有toUppercased的方法。

Object Types 对象类型

image.png

pt部分就是一个对象类型的展示

Optional Properties

可选属性

image.png

Union Types

工会类型

基于上面的基础类型,我们可以开始对基础类型进行组合。

Defining a Union Type

定义联合类型

组合类型的第一种方法就是联合类型。顾名思义,联合类型就是由两个或者多个其他成员类型组成的类型,表示可能是其中任何一个类型的值。我们可以将这些类型中的每一种称为公会成员(union's menbers)

image.png

Working with Union Types

与工会类型一起工作

此处有一处小规则,类型取值规则会进行代码缩小联合,即类型收缩(代码类型的交集)。例:

image.png

Type Aliases

类型别名

image.png

image.png

Interfaces 接口

接口是命名对象类型的另一种形式。

image.png

也可以接口继承

image.png

类型与接口的区别

Interface: 可继承、可向现有接口添加新的字段

Type:通过交叉点扩展类型

Type Assertions

类型断言

类型断言有两种写法

image.png

Literal Types

文字类型

"XXX" 文字也可以作为类型描述

Literal Interface

字面推理

不设置类型的变量定义会根据所赋的值进行参数的推理

null and undefined

strictNullChecks

off 关闭不校验 null

on 进行严格校验

Non-null Assertion Operator

非空断言运算符,后缀(!)

image.png

Enum 枚举值

会单开一个部分来描述

Less Common Primitives

bigint 大整数

symbol 全局唯一Symbol引用

--- END ---

下节预告: 从0开始Ts-03 Function类型