初学typescript总结

typescript的使用:

node项目中使用ts,首先安装依赖,然后再tsconfig.json中配置

 

typescript中的数据类型:

1、布尔类型(boolean)

2、数字类型(number)

3、字符串类型(string)

4、元祖类型(tuple),属于数组的一种,可以指定数组中具体位置的值的类型

5、枚举类型(enum),其中各个标识符的默认值为对应的角标

6、任意类型(any),允许在赋值的过程中改变类型

7、null和undefined

8、void类型,声明的变量只能被赋值为null和undefined

9、never类型

10、数组类型([]),有两种定义方式:1.var arr = number[] 2.var arr = Array<number>

 

方法的参数问题:ts中方法的参数可以和es6一样设置默认参数,并且形参和实参必须保持一致,如果不一样就需要配置可选参数(?),而且必须配置在所有参数的最后。

 

当一个方法中不确定有多少个参数,可以使用扩展运算符,例:加法

eg: function sum(...args:number[]): number{

....

}

 

类型批注:定义变量时,使用“:”的方式可以限制值的类型。

eg:let num: number

 

类型断言:通过as语法或者<>的形式实现,相当于把某些变量指定为某种类型,编译时不会因为类型不同而报错。

 

类型推论:在定义变量的时候,如果没有指定类型,下次再给这个变量赋值为不同类型的值的时候会报错,默认只能赋值为初始化值的类型。

 

联合类型:使用“ | ”,声明变量时可以指定为多种类型。

 

接口(interface):约束对象的类型,规定通过接口定义的对象中的属性和方法的返回值类型,以及必须定义的属性和方法,可以设置为只读(readonly)、可选(?)和任意(any)属性。也可以通过接口定义一些公共的方法。

 

修饰符:1、public,在声明的类的外部也可以访问类的属性和方法。

2、private,不能在类的外部被访问,即使这个类的子类也无法访问。

3、protected,不能在类的外部被访问,但这个类的子类可以访问。

 

ts中的重载:

如果一个方法接收的参数个数或者参数类型不能,可以使用重载

eg:function getUserInfo(name: string): string

function getUserInfo(name: string,age: number): number

function getUserInfo(name: string,age?: number)): any {

...

}

以上就是重载的一个使用,调用getUserInfo这个方法,传入的参数不固定,无论传一个还是两个都是正确的。

 

ts中的类:

定义的类的属性和方法可以添加修饰符,还有构造函数constructor,它是在实例化的时候触发的方法,可以接受参数,给类中的属性赋值。

 

类的方法:

1.静态方法:

通过static修饰的方法为静态方法,类中的静态方法不能直接调用类中的属性,除非该属性也是通过static修饰。

2.实例方法:

没有static修饰的叫实例方法,需要实例化之后才能调用。

 

抽象类:可以被其他类继承,但是不能被实例化。

使用abstract关键字定义抽象类和抽象方法,可以限制子类必须具备某些方法,抽象类中的抽象方法没有具体逻辑,需要由子类去写逻辑,而且抽象方法只能放在抽象类里。

 

ts中的继承:

子类继承父类的属性和方法,通过extends、super。除了继承父类属性和方法,还可以扩展自己的属性和方法。

eg:class Father {

name: string;

constructor(name: string) {

this.name = name

}

}

 

class Son extends Father {

constructor(name: string){

super(name)

}

}

 

let s = new Son("lili")

在创建Son的实例的时候执行构造函数constructor中的super方法,初始化了Father的构造函数,将Father中的name赋值,然后Son的实例继承了该属性。

多态也是类的继承的一种实现,比如父类定义了一个方法,但是没有写具体逻辑,由子类继承之后再去写逻辑,可以同一个方法实现不同的逻辑。

 

泛型:在参数类型不明确的情况下,保证传入的参数和返回的参数类型一致。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值