Avatar ·

Como declarar um objeto vazio com tipo em TypeScript sem erros de compilação?

Olá! Recentemente comecei a aprender TypeScript e me deparei com um problema. Preciso declarar uma variável com um tipo específico, mas inicializá-la com um objeto vazio. Aqui está um exemplo: ```typescript interface User { name: string; age: number; email: string; } const user: User = {}; // Erro: Type '{}' is not assignable to type 'User' ``` O compilador reclama que o objeto vazio não corresponde à interface User. Eu entendo que no objeto vazio não há os campos obrigatórios name, age e email. Mas preciso que a variável seja tipada, e os dados serão preenchidos depois, por exemplo, após uma requisição à API ou durante o uso de um formulário. Tentei estas opções: - `const user = {} as User;` — funciona, mas ouvi dizer que não é seguro. - `const user: Partial = {};` — também funciona, mas então user permanece Partial para sempre. - `const user: User | undefined = undefined;` — mas depois preciso verificar undefined em todo lugar. Como declarar corretamente um objeto vazio com tipo em TypeScript, para que