TS基础

TS基础
BreezliTS
类型(interface)
声明
1 | let a: string //变量a只能存储字符串 |
总览
1 | string 、 number 、 boolean 、 null 、 undefined 、 bigint 、 symbol 、 object(Array 、Function 、Date ......) |
常用类型
字面量
1 | 值只能是字⾯量值 (值本身) |
any
1 | //显式的any |
unknown
1 | //适⽤于:开始不知道数据的具体类型,后期才能确定数据的类型 |
never
1 | let a: never |
void
1 | //适⽤于:限制函数的返回值 |
object(不常用)
1 | let a:object //a的值可以是任何【⾮原始值类型】,包括:对象、函数、数组等 |
限制类型写法
对象
1 | let person: { name: string, age?: number} //问号代表可选属性 |
函数
1 | let demo: (a: number, b: number) => number |
数组
1 | let arr1: string[] // 该⾏代码等价于: let arr1: Array<string> |
tuple
1 | //长短固定的数组 |
enum
1 | //枚举 |
实例
1 | // 定义⼀个phone变量,并设置对⻬进⾏限制 |
自定义类
1 | // 性别的枚举 |
抽象类
常规类
1 | class Person { |
继承
1 | class Person { } |
抽象类
1 | abstract class Person { } |
1 | // Person(抽象类) |
接口
1 | //限制⼀个类中包含哪些属性和⽅法 |
1 | // Person接⼝ |
举例
1 | // 接⼝ —— Person,只能包含抽象⽅法 |
泛型
1 | function test<T>(arg: T): T{ |
1 | function test<T, K>(a: T, b: K): K{ |
类
1 | class MyClass<T>{ |
泛型约束
1 | interface Demo{ |