当我们在typescript中定义一个类的时候,其实同时定义了两个不同的类型
- 类类型(构造函数类型)
- 对象类型
首先,对象类型好理解,就是我们的new出来的实例类型。那么类类型是什么?我们知道javascript中的类,或者说是typescript中的类其实本质上还是一个函数,当然我们也成为构造函数,那么这个类或者构造函数本事也是有类型的,这个类型就是类的类型
class Person {
//属于类的
static type = '人';
//属于实例的
name: string;
age:number;
gender: string;
//类的构造函数也是属于类的
constructor(name:string,age:number,gender:'男'|'女'='男'){
this.name = name;
this.age = age;
this.gender = gender;
}
eat():void{
}
}
let p1 = new Person('thia',30,'女');
p1.eat();
Person.type