在 TypeScript 中,接口(interface)是一种用来描述对象的形状(shape)的类型。通过接口,可以定义对象应该具有的属性和方法,从而在代码中实现对对象结构的约束和类型检查。
定义接口
在 TypeScript 中,使用 interface
关键字来定义接口。接口可以包含属性、方法、以及可选属性和只读属性。
-- -------------------- ---- ------- --------- ------ - ----- ------- ---- ------- ----------- ----- - --- ------- ------ - - ----- -------- ---- --- ---------- - ------------------- -- ---- -- ---------------- - -- ------------------ -- --- ------ -- ---- -- ------
在上面的示例中,我们定义了一个 Person
接口,该接口包含 name
和 age
两个属性,以及一个 sayHello
方法。然后我们创建了一个符合该接口定义的对象 person
,并调用了 sayHello
方法。
可选属性
在接口中,可以使用 ?
符号来表示可选属性。
-- -------------------- ---- ------- --------- --- - ------ ------- ------ ------- ------ ------- - --- ------ --- - - ------ --------- ------ --------- --
在上面的示例中,Car
接口中的 year
属性是可选的,因此在创建 myCar
对象时可以不传入 year
属性。
只读属性
在接口中,可以使用 readonly
关键字来定义只读属性。
interface Point { readonly x: number; readonly y: number; } let p1: Point = { x: 10, y: 20 }; p1.x = 5; // 编译报错,只读属性无法修改
在上面的示例中,Point
接口中的 x
和 y
属性都是只读的,因此在创建 p1
对象后无法修改这两个属性的值。
接口是 TypeScript 中非常重要的概念,通过接口可以实现对对象结构的约束和类型检查,从而提高代码的可读性和可维护性。在实际开发中,合理使用接口可以使代码更加健壮和可靠。