在数组中键入检查

时间:2015-09-11 14:21:02

标签: typescript

我有一个班级

class Clazz{constructor(public foo: string, public bar: string)}

然后我创建一个这样的数组:

var cls: Clazz[] = [{foo: 'Foo', bar: 'Bar'}, {foo:'Missing bar'}]

类型检查器不会抱怨缺少bar的项目。这是设计的吗?如果是,这种行为背后的动机是什么?

2 个答案:

答案 0 :(得分:2)

  

类型检查器不会抱怨缺少栏的项目

它确实:

enter image description here

请参阅playground中的示例。

请注意,您的代码也有语法错误(也报告了......构造函数体丢失了。)

答案 1 :(得分:0)

您可以省略参数,并使用默认值初始化它们。如果您还不知道所需的值,或者您可以设置默认值,则通常会执行此操作。另外,如果你有一个包含很多属性的类,你可能不希望在构造函数调用中设置它们。