一个更漂亮的TypeScript匿名类声明?

时间:2013-04-23 21:31:44

标签: typescript

在typeScript中使用类型化成员表达匿名类(?)是否有更美妙的方式?

class Foo {
    member = {
        aNumber = <number>undefined;
        aBoolean = <bool>undefined;
    }
}

3 个答案:

答案 0 :(得分:17)

唯一的匿名替代方案是:

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

通常最好只编写一个interface,以便命名类型。

答案 1 :(得分:10)

由于默认情况下成员未定义,您可以简单地使用:

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

答案 2 :(得分:3)

在较新版本的打字稿中,可以使用可选属性来实现:

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