如何在 TypeScript 中声明 nullable 类型(允许 null)?
你好!我刚开始学习 TypeScript,遇到了一个问题。我正在写一个任务管理的小应用。我有一个任务的 interface,其中 `completedAt` 字段在任务完成时应该是 `Date` 类型,如果未完成则为 `null`。还有一个 `assignee` 字段,可以是执行者姓名的字符串,或者缺失(`null`/`undefined`)。
我尝试这样描述:
```typescript
interface Task {
id: number;
title: string;
completedAt: Date;
assignee: string;
}
```
但是当我尝试给 `completedAt` 字段赋值 `null` 时,TypeScript 报错:
```typescript
const task: Task = {
id: 1,
title: "买食品",
completedAt: null, // 错误:类型 'null' 不能赋值给类型 'Date'。
assignee: null // 错误:类型 'null' 不能赋值给类型 'string'。
};
```
我试过使用 `any`,但这破坏了 TypeScript 的所有好处。我在文档中看到过关于 `null` 和 `undefined` 的内容,但没理解如何正确使用。