【发布时间】:2016-11-01 23:33:22
【问题描述】:
我有一个这样的打字稿对象:
class myObj {
public param1,
public param2,
public param3
}
在我的另一个对象中,我有一个该对象的数组
class otherObj {
public arrayOfMyObj:myObj[]
constructor(){
this.arrayOfMyObj = [{param1: "value", param2: "value"}]
}
}
但是此代码会引发错误,因为 JSON 数组中的第一项与 myObj 不完全匹配(它缺少 param3),如果有任何方法可以使其成为可选或只是不检查它?显然,我通常只会创建一个 new myObj 并填充它,但这是一个非常长的硬编码 JSON 数组。
【问题讨论】:
-
如果你不调用
new myObj(),那么你的类型是错误的。 Typescript 并没有“太有帮助”,它完全按照它的用途来验证类型。 -
如果您将
myObj设为接口,则可以声明可选字段。它还可以更好地匹配您在这里没有调用任何构造函数的事实。
标签: arrays json typescript