是否可以执行类似的操作来定义自定义公司数组类型?
export interface Company {
name: string;
}
export interface Companies: Array<Company> {
}
我似乎不喜欢公司的语法。
或者这根本就没有意义吗?
答案 0 :(得分:1)
如果您只需要一系列公司,则可以使用以下任何一个公司:
type Companies = Company[]
type Companies = Array<Company>
或者,您甚至不需要定义类型别名,而只需使用Company[]
或Array<Company>
。
但是,如果要在数组上声明其他属性,则可以扩展Array<Company>
:
interface Companies extends Array<Company> {
foo: string
bar: number
}
要创建这样的对象,可以使用以下之一:
declare const normalArray: Company[]
const companies1: Companies = Object.assign(normalArray, {foo: '', bar: 0})
const companies2 = normalArray as Companies
companies2.foo = ''
companies2.bar = 0