【Typescript重点】接口的使用
warning:
这篇文章距离上次修改已过200天,其中的内容可能已经有所变动。
在TypeScript中,接口(Interface)是一种结构化的数据类型系统,它可以用来定义对象的形状,即定义对象哪些属性是必须的,以及它们的类型是什么。接口是TypeScript的核心部分,它让JavaScript的应用程序更加结构化和易于维护。
以下是一些使用TypeScript接口的示例:
- 定义一个简单的接口:
interface Person {
name: string;
age: number;
}
let person: Person = {
name: 'Alice',
age: 25
};
在这个例子中,我们定义了一个Person
接口,它有两个属性:name
和age
。然后我们创建了一个person
变量,它符合Person
接口的形状。
- 可选属性的接口:
interface Person {
name: string;
age?: number;
}
let person: Person = {
name: 'Alice'
};
在这个例子中,age
属性是可选的,这意味着person
变量可以只有name
属性,也可以同时拥有name
和age
属性。
- 只读属性的接口:
interface Person {
readonly name: string;
age?: number;
}
let person: Person = {
name: 'Alice'
};
person.name = 'Bob'; // Error: 属性 "name" 是只读的
在这个例子中,name
属性是只读的,这意味着一旦设置了name
属性,就不能再修改它。
- 带有方法的接口:
interface Person {
name: string;
greet(): string;
}
let person: Person = {
name: 'Alice',
greet() {
return `Hello, my name is ${this.name}!`;
}
};
在这个例子中,Person
接口定义了一个greet
方法,该方法返回一个字符串。person
变量必须实现这个greet
方法。
- 继承接口:
interface Person {
name: string;
}
interface Employee extends Person {
jobTitle: string;
}
let employee: Employee = {
name: 'Alice',
jobTitle: 'Software Developer'
};
在这个例子中,Employee
接口继承了Person
接口,并添加了一个新的jobTitle
属性。这表示employee
变量必须同时拥有name
属性(来自Person
接口)和jobTitle
属性(来自Employee
接口)。
评论已关闭