Skip to content

typescript

作者:青见春山
发表于:2026-09-08
字数统计:956 字
预计阅读4分钟

1.类型推断

此时会报错Type 'number' is not assignable to type 'string' 即你不能把数字分配给字符串变量

Image

2.类型注解

即提前设定好变量它的类型,赋值为其他将会报错

Image

3. 类型断言

即提前预知结果的类型,进行一个人工干预,不然下面的result可能推断为undefined,undefined*5会报错

Image

4.基础类型和联合类型

基础类型就是下面列出的几种

联合类型其实说白了就是一个或,一个并集,v4可以是string类型也可以是null类型

而对于v5这样也可以限定具体的值,比如下面这样写123,那么值赋值就不能是5

Image

5.数组,元组,枚举

数组

两种不同的写法,约束这个数组内部的值的类型

比如第一个就是声明一个数值的数组,普通变量只加一个number,这里number后面加一个[],代表是数组

第二个是另一种数组的声明方式

Image

元组

限定数据的个数以及其类型

如下,赋值第一个为string类型就会报错

Image

加一个问号代表值可选

Image

枚举

此时会有六个值,abc和012互为键值对

Image

具体编译过程:

Image

6.函数

void在函数中一般表示没有返回值

Image

注意问号进行可选值设置,且可选值一般要放在必选值的后面

剩余参数是数组类型,所以这里要声明为一个数组,并且传参进来不可以传其他类型

Image

7.接口

通常是进行一个对象的定义

就是像string,number那样,自己新定义了一个类型而已,然后可以进行类型声明的使用

Image

8.类型别名

当有很多值都需要写 string|number时,可以用type进行一个类型别名的设定

Image

Image

9.泛型

下面这种定义只能传指定类型,但如果这个函数是一个通用函数呢

Image

就可以使用下面这种泛型写法

Image

其实就是传入一个类型,然后进行提前预设的泛型变量的类型替换,比如上面这个就是传数组,然后全部变为数组

Image

这样写也是可以的,ts智能进行类型推断,调用是不写<>也是ok的

进阶

1.参数重载

同名函数可以根据参数的类型和个数实现不同的功能

Image

2.接口继承

extends实现接口继承

Image

3.类的修饰符

Image

直接这样写会报错的

Image

这样写在顶部才ok,此时这些属性是必选的

注意设置配置文件,会检查的更加严格,以防出现一些预料外的情况

设置可选属性,设置默认值:

Image

私有属性

Image

受保护属性

只能在当前类的内部或者子类中进行访问

Image

子类可用:

Image

但注意子类无法使用tempdata

静态属性

将属性设置给类本身而不是类的实例,以及注意书写顺序,static需要写在三个p的后面

Image

上面这个private static 写法是综合写,意思是author此时既私有又静态

使用:

Image

简写类型

Image

4.存取器属性

Image

但此时不可以console.log(u._password)因为是私有属性

5.抽象类

作为子类基类进行使用

用于规范格式,而不直接实例化

Image

可以有抽象的也可以有不抽象的,都会被子类直接继承

6.类实现接口

Image

并且可以继承多个接口,这在类是无法实现的

Image

7.泛型类

就是传参不固定

Image