我们既可以使用数字索引去访问数组元素,也可以使用字符串索引去访问数组对象上的属性和方法。
一个接口中最多只能定义一个字符串索引签名。字符串索引签名会约束该对象类型中所有属性的类型。
一般情况下,接口中属性签名和方法签名定义的对象属性都是必选的。在给接口类型赋值时,如果未指定必选属性则会产生编译错误。如果想要属性和方法是可选的,我们可以在属性名或者方法名后添加问号。如果接口中定义了重载方法,那么所有重载方法签名必须同时为必选或者可选的。
在接口声明中,我们可以使用readonly修饰符来定义只读属性。这个修饰符只能在属性签名和索引签名中使用。如果接口中定义了只读的索引签名,那么接口类型中的所有属性都是只读属性。如果接口中我们既定义了只读索引签名,又定义了非只读的属性签名,那么非只读的属性签名定义的依然是非只读的。除此其他所有的属性都是只读的。