我有一个班级
class Clazz{constructor(public foo: string, public bar: string)}
然后我创建一个这样的数组:
var cls: Clazz[] = [{foo: 'Foo', bar: 'Bar'}, {foo:'Missing bar'}]
类型检查器不会抱怨缺少bar
的项目。这是设计的吗?如果是,这种行为背后的动机是什么?
答案 0 :(得分:2)
答案 1 :(得分:0)
您可以省略参数,并使用默认值初始化它们。如果您还不知道所需的值,或者您可以设置默认值,则通常会执行此操作。另外,如果你有一个包含很多属性的类,你可能不希望在构造函数调用中设置它们。