一、接口(interface)
TypeScript 接口(interface)是一种类型定义,用于表示对象的属性和方法以及函数的参数和返回值类型。它类似于其他编程语言中的接口,用于约束对象或函数的结构和类型。通过实现接口,可以使代码更加规范和易于维护。
1、TypeScript 接口的示例
interface Person {
name: string;
age: number;
sayHello: () => void;
}
let person: Person = {
name: "Tom",
age: 18,
sayHello: function() {
console.log("Hello, I'm " + this.name);
}
};
person.sayHello(); // 输出 "Hello, I'm Tom"
在以上示例中,我们定义了一个
Person
接口,它包含了三个属性:name
和age
(分别为字符串和数字类型),以及一个名为sayHello
的方法(无参数,无返回值)。然后我们定义了一个实现了Person
接口的对象person
,并调用了它的sayHello
方法。
2、接口还可以用于类型检查
function printPerson(person: Person) {
console.log("Name: " + person.name);
console.log("Age: " + person.age);
person.sayHello();
}
let person1 = { name: "Tom", age: 18 };
let person2 = { name: "Jerry", age: "20" }; // age 类型错误
printPerson(person1); // 正确
printPerson(person2); // 报错
在以上示例中,我们定义了一个
printPerson
函数,它接受一个Person
类型的参数。然后我们分别定义了两个对象person1
和person2
,其中person1
的类型符合Person
接口的规范,而person2
的age
属性类型错误,不能通过类型检查。最后我们调用printPerson
函数,分别传入person1
和person2
,结果person1
可以正常输出,而person2
会报错。