解释 TypeScript 中 null 的概念及其用途


在 TypeScript 中,“null”指的是数据类型或值。null 是 TypeScript 中的一个关键字,我们可以用它来表示不存在或空值。因此,我们可以使用“null”来定义变量的数据类型或初始化变量。

在本教程中,我们将学习 null 值和数据类型在 TypeScript 中的不同用例。

语法

用户可以按照以下语法使用 null 关键字作为数据类型或值。

let null_var: null = null; 

在上述语法中,“null”指的是名为 null_var 变量的数据类型,我们用 null 值对其进行了初始化。

TypeScript 是一种类型严格的语言。因此,我们需要定义变量的数据类型。如果我们想用空值定义变量,我们需要将该变量定义为 Null 类型。

示例

在下面的示例中,我们创建了类型为 null 的 null_var 变量,并用 null 值对其进行了初始化。之后,我们打印了 null_var 的值,它会打印 null。

下面示例的目的是展示当我们将 null 值赋给变量时,该变量包含什么值。

// defining the variable of type null and initialized with the null value
let null_var: null = null;
console.log("The value of null_var is " + null_var);

编译后,它将生成以下 JavaScript 代码:

// defining the variable of type null and initialized with the null value
var null_var = null;
console.log("The value of null_var is " + null_var);

现在,我们将学习 null 在实时开发中的用例。例如,您创建了变量,需要在从数据库获取值后对其进行初始化。因此,当您声明变量时,您可以用 null 初始化它,当从数据库完成数据获取后,您可以用数据进行初始化。当您想对该变量执行某些操作,但仅在它不为 null 并已初始化为某些值时,这很有用。

示例

在下面的示例中,我们声明了类型为数字或 null 的 data 变量。我们首先用 null 值对其进行了初始化,并使用 if 条件检查数据是否可用,然后打印数据。

之后,我们用数字初始化 data 变量,并再次使用“if”语句检查 data 值的存在,并相应地打印消息。

// declaring the data variable of type null or number
let data: null | number = null;

// If data is available, print the data
if (data) {
   console.log(data);
}

// think about fetching data from the database and initializing with the value.
data = 10;

// if data is not null, print the message
if (data) {
   console.log("The value of the data is " + data);
}

编译后,它将生成以下 JavaScript 代码:

// declaring the data variable of type null or number
var data = null;

// If data is available, print the data
if (data) {
   console.log(data);
}

// think about fetching data from the database and initializing with the value.
data = 10;

// if data is not null, print the message
if (data) {
   console.log("The value of the data is " + data);
}

上面示例的目的是演示我们可以通过用 null 值初始化来声明没有实际值的变量。稍后,我们可以通过实际值初始化变量。

处理 null 变量

我们学习了如何声明 null 变量,但现在我们需要学习如何处理 null 变量。最简单的方法是使用 if 语句。在 if 语句条件内,我们检查变量值是否为 null。但还有其他方法可以处理 null 变量。

使用可选链

可选链允许我们为类和对象定义可选属性。但是,我们可以使用可选链来处理 null 变量。我们可以使用问号 (?) 运算符使任何属性可选。

语法

用户可以按照以下语法使用可选链来处理 null 变量。

interface sample {
   property?: type;
}

示例

在这个例子中,我们创建了一个包含可选 age 属性的接口。我们定义了 sample 类型的对象,并且没有在其中声明 age,因为它是一个可选属性。

// interface for object
interface sample {
   id: string;
   name: string;
   age?: number;
}

// age is optional, so you don't need to define it
let object: sample = {
   id: "20232",
   name: "shubham",
};

// accessing the age
let age_var: number | undefined = object.age;
console.log("The value of age_var is " + age_var);

编译后,它将生成以下 JavaScript 代码:

// age is optional, so you don't need to define it
var object = {
   id: "20232",
   name: "shubham"
};

// accessing the age
var age_var = object.age;
console.log("The value of age_var is " + age_var);

在本教程中,我们学习了 null 的各种用例以及如何处理 null 变量。因此,当用户不确定变量的值,并希望稍后用其他值对其进行初始化时,他们应该用 null 值初始化变量,而不是用随机值初始化它。

更新于:2023年1月5日

4K+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告