枚举
使用枚举我们可以定义一些带名字的常量。 使用枚举可以清晰地表达意图或创建一组有区别的用例
//枚举
enum service {
"massage" = 0,
"SPA" = 1,
"daBaoJian" = 2,
}
function getService(status: service) {
if (status == service.massage) {
console.log("我要去马杀鸡");
} else if (status == service.SPA) {
console.log("我要去SPA");
} else if (status == service.daBaoJian) {
console.log("我要去大保健");
}
}
getService(2); //我要去大保健
函数传参
可以使用扩散运算符...
来进行传参
//传参
function bb(...result: Array<number>): number {
let num: number = 0;
result.forEach((item: number) => {
num += item;
});
return num;
}
抽象类
抽象类用于给子类继承,且不允许被实例化,抽象类中的抽象方法、抽象属性必须为public
且必须被子类继承。
抽象类中可以有非抽象属性和非抽象方法,也可以是私有或者公有,但是如果是私有的话子类就不能访问,无意义,所以一般情况下都设置为公有
以下是一个正常的抽象类继承例子:
//抽象类 Animal
abstract class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
abstract eat(): void;
}
//子类 Dog
class Dog extends Animal {
constructor(name: string) {
super(name);
}
eat(): void {
console.log(this.name + "在吃屎");
}
}