Avatar ·

如何在 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` 的内容,但没理解如何正确使用。