Avatar ·

如何在TypeScript中声明一个带有类型的空对象而不出现编译错误?

你好!我最近开始学习TypeScript,遇到了一个问题。我需要声明一个具有特定类型的变量,但将其初始化为空对象。例如: ```typescript interface User { name: string; age: number; email: string; } const user: User = {}; // 错误:类型 '{}' 不可分配给类型 'User' ``` 编译器报错,说空对象不符合User接口。我明白空对象中没有必需的字段name、age和email。但我需要变量被类型化,而数据将在稍后填充,例如在API请求之后或表单处理过程中。 我尝试过以下方法: - `const user = {} as User;` — 有效,但我听说这不安全。 - `const user: Partial = {};` — 也有效,但这样user就永远保持为Partial类型。 - `const user: User | undefined = undefined;` — 但之后需要在各处检查undefined。 如何正确地在TypeScript中声明一个带有类型的空对象,以便