📜  如何在 TypeScript 中声明可空类型?

📅  最后修改于: 2022-05-13 01:56:29.784000             🧑  作者: Mango

如何在 TypeScript 中声明可空类型?

在 vanilla JavaScript 中,有两种主要的数据类型, nullundefined 。以前在 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
}