typescript自定义数据类型
时间: 2023-09-21 13:11:10 浏览: 47
TypeScript支持定义自定义数据类型,这些数据类型包括接口、类、枚举和类型别名。
接口(Interface):接口是一种定义对象的结构的方式。它描述了对象中应该包含哪些属性和方法。例如:
```
interface Person {
name: string;
age: number;
gender: string;
}
let person: Person = {
name: 'Tom',
age: 18,
gender: 'male'
};
```
类(Class):类是一种定义对象的结构和行为的方式。它描述了对象中应该包含哪些属性和方法,并可以定义对象的行为。例如:
```
class Person {
name: string;
age: number;
gender: string;
constructor(name: string, age: number, gender: string) {
this.name = name;
this.age = age;
this.gender = gender;
}
sayHi() {
console.log(`Hi, my name is ${this.name}.`);
}
}
let person = new Person('Tom', 18, 'male');
person.sayHi();
```
枚举(Enum):枚举是一种定义命名常量的方式。它用于限制某个变量的取值范围。例如:
```
enum Gender {
Male = 'male',
Female = 'female'
}
interface Person {
name: string;
age: number;
gender: Gender;
}
let person: Person = {
name: 'Tom',
age: 18,
gender: Gender.Male
};
```
类型别名(Type Alias):类型别名是一种给类型起别名的方式。它用于简化复杂类型的命名。例如:
```
type Age = number;
interface Person {
name: string;
age: Age;
gender: string;
}
let person: Person = {
name: 'Tom',
age: 18,
gender: 'male'
};
```