打字稿'可选'(可空)'?'语法不起作用(部分)

时间:2015-01-13 12:56:32

标签: c# visual-studio visual-studio-2013 typescript intellisense

我想在一个类中声明一个数字作为可选项,使用'?'操作

export class DummyClass {
    dummyId?: number;   
}

由于'; is expected. Unexpected token'错误,Visual Studio无法编译。但是,当我声明一个函数或接口,它没有问题:

void(sup?: number) {} // nothing to complain here

对此有一些规定吗?或者Intellisense出了什么问题?

1 个答案:

答案 0 :(得分:2)

如果您不需要设置该属性,则可以:

export class DummyClass {
    dummyId: number;   
}

在此示例中,dummyId未定义,直到有人设置了值。从本质上讲,属性不需要特殊的字符来说“你不必设置我”。

当您接受参数时,可以将其设为可选参数。方法和构造函数也是如此:

export class DummyClass {
    constructor(public dummyId?: number) {

    }


    doSomething(dummyId?: number) {

    }
}