创建TypeScript界面时,可以通过添加问号(例如
)使条目成为“可选”或type | undefined
。
interface Foo {
myProperty?: boolean;
}
在声明变量时有没有办法做到这一点?以下所有内容似乎都不起作用:
let myVar?: boolean;
let myVar: boolean?;
let myVar: boolean = undefined;
答案 0 :(得分:4)
可以通过添加问号
使条目“可选”或type | undefined
您不能对变量使用?
语法。
如果 使用严格空检查(strictNullChecks
编译器标志),则可以明确允许未定义的值:
let myVar: boolean | undefined;
或nulls:
let myVar: boolean | null;
这将阻止编译器执行的未初始化变量检查,如下所示。
let myVar: boolean;
if (myVar) { // Hey coder! myVar hasn't been assigned!
console.log('x');
}
如果您没有使用严格的空检查,boolean
类型将允许使用普通类型注释进行null和undefined。
let myVar: boolean;