如何在 TypeScript 中声明可空类型?
在 vanilla JavaScript 中,有两种主要的数据类型, null和undefined 。以前在 TypeScript 中,无法将这些类型显式命名为“null”和“undefined”。但是,无论类型检查模式如何,现在都可以使用它。
要将“未定义”分配给任何属性,必须关闭–strictNullChecks标志。保持此标志打开将不允许将“未定义”分配给没有可为空运算符的成员。
下面的示例表示如果启用–strictNullChecks标志并执行以下代码会发生什么。
interface Student {
name:string;
age:number;
}
let s: Student = {
name:'Ajay',
age:null
}
它会抛出以下错误:
Type 'null' is not assignable to type 'number'
如果我们关闭了–strictNullChecks标志,则不会出现此错误。 strictNullChecks标志防止在代码中引用空值或未定义值。可以通过将--strictNullChecks标志作为选项添加到命令行编译器或将其添加到tsconfig.json文件来启用它。
Nullable 类型和“可选”之间是有区别的。在“可选”中,我们为成员提供一些默认值或让它不被视为成员。但是,如果任何成员被分配了可选的,然后仍然分配了一个值“null”或“undefined”,那么它将抛出一个错误。
interface Student {
name:string;
age?:number;
}
let s: Student = {
name:'Ajay',
age:null
}