我是打字稿新手。
我有这样的课程
class Document {
constructor (data, id) {
this.data = data
this.id = id
}
}
[我在这里知道ID将为String
,但数据将为object
或array
。
有人可以帮我弄清楚它的接口是什么。
[[更新:]我尝试了什么?
我创建了这样的界面
interface Documents {
data: Array | Object,
id: Number
}
但是这会产生以下错误(数组下的红色下划线)
通用类型'Array'需要1个类型参数。
如果有什么不同,我希望我的数组为empty
或包含objects
的列表
您需要指定数组的基础类型,因为Array是类型构造函数。我会尽可能地转向原始类型。另外,如果您的数据是一个对象,一个空数组或一个对象列表,我将保持简单,仅将其定义为(可能为空)对象列表。因此,您可能最终会遇到这样的事情:
type DocData = [object]
interface DocumentInterface {
data: DocData
id: number
}
class Doc implements DocumentInterface {
data: DocData
id: number
constructor (data: DocData, id: number) {
this.data = data
this.id = id
}
}
class Document {
private data: [] | object;
private id: string;
constructor (data: [] | object, id:string) {
this.data = data
this.id = id
}
}