2013-04-23 119 views

回答

17

唯一匿名替代方法是:

class Foo { 
    member: { aNumber?: number; aBoolean?: bool; } = { 
     aNumber: undefined, 
     aBoolean: undefined 
    } 
} 

你平时最好只写一个interface,所以你可以命名的类型。

8

由于成员默认都是不确定的,你可以简单地去:

class Foo { 
    member:{aNumber:number;aBoolean:bool;} = <any>{}; 
} 
+0

但随后“成员”是不确定的 - not member.aNumber/member.aBoolean – 2013-12-10 17:17:44

+0

已更新为使'member'不会被定义为开始使用类型断言:http://basarat.gitbooks.io/typescript/content/docs/types/type-assertion.html – basarat 2015-07-11 04:59:52

1

在打字稿的新版本,这样就可以实现使用可选属性:

class Foo { 
    member: { aNumber?: number; aBoolean?: boolean; } = {} 
}