我想在一个类中声明一个数字作为可选项,使用'?'操作
export class DummyClass {
dummyId?: number;
}
由于'; is expected. Unexpected token'
错误,Visual Studio无法编译。但是,当我声明一个函数或接口,它没有问题:
void(sup?: number) {} // nothing to complain here
对此有一些规定吗?或者Intellisense出了什么问题?
答案 0 :(得分:2)
如果您不需要设置该属性,则可以:
export class DummyClass {
dummyId: number;
}
在此示例中,dummyId
未定义,直到有人设置了值。从本质上讲,属性不需要特殊的字符来说“你不必设置我”。
当您接受参数时,可以将其设为可选参数。方法和构造函数也是如此:
export class DummyClass {
constructor(public dummyId?: number) {
}
doSomething(dummyId?: number) {
}
}