跳到主要内容

简述TypeScript 中的接口 ?

参考答案:

TypeScript 中的接口(Interfaces)是一种定义对象形状的方式,它描述了一个对象应该有哪些属性和方法。接口在 TypeScript 中扮演着非常重要的角色,特别是在大型项目中,它们可以帮助我们定义和实现代码的规范。

接口的主要特点:

  1. 定义对象形状:接口定义了一个对象应该具有的结构,包括属性和方法。
  2. 类型检查:通过接口,TypeScript 可以检查对象是否符合预期的形状。
  3. 代码可读性:接口有助于其他开发者理解一个对象应该如何被使用。
  4. 可继承:接口可以被其他接口继承,实现接口的对象也必须实现继承的接口中的所有属性和方法。

接口的基本语法:

interface Person {
  name: string;
  age: number;
  greet(): void;
}

const john: Person = {
  name: "John",
  age: 30,
  greet() {
    console.log("Hello, my name is John.");
  }
};

在这个例子中,Person 接口定义了一个对象应该具有 nameage 属性和一个 greet 方法。然后我们创建了一个名为 john 的对象,并实现了 Person 接口。

除了定义对象的形状,接口还可以用来定义函数类型,以及类的类型。

interface AddFunction {
  (a: number, b: number): number;
}

const add: AddFunction = (a, b) => a + b;

class Greeter {
  greeting: string;

  constructor(message: string) {
    this.greeting = message;
  }

  greet() {
    return "Hello, " + this.greeting;
  }
}

interface GreeterConstructor {
  new (message: string): Greeter;
}

const GreeterConstructor: GreeterConstructor = Greeter;

在这个例子中,AddFunction 接口定义了一个函数的形状,该函数接受两个数字参数并返回一个数字。GreeterConstructor 接口则定义了一个类的构造函数的形状。