Avatar ·

¿Cómo especificar correctamente los tipos al desestructurar objetos en TypeScript?

¡Hola! Acabo de empezar a aprender TypeScript y me encontré con un problema al desestructurar objetos. Supongamos que tengo una función que recibe un objeto con configuraciones de usuario, y quiero desestructurarlo directamente en los parámetros: ```typescript function createUser({name, age, email}) { // ... código } ``` Pero TypeScript se queja de que los parámetros no tienen tipos. Intenté escribirlo así: ```typescript function createUser({name: string, age: number, email: string}) { // ... } ``` Pero esto no funciona — interpreta `string`, `number` como nuevos nombres de variables, no como tipos. Entonces probé otra opción: ```typescript function createUser({name, age, email}: {name: string, age: number, email: string}) { // ... } ``` Esto parece funcionar, pero se ve voluminoso. ¿Y qué pasa si quiero hacer las propiedades opcionales? ¿O si tengo desestructuración anidada? Por ejemplo, hay un objeto con dirección: ```typescript const user = { name: 'Iván', address: {