Avatar ·

Definición de array con múltiples tipos en TypeScript: union types vs tuplas

¡Hola a todos! Recientemente comencé a estudiar TypeScript y me encontré con un problema al declarar un array que puede contener elementos de diferentes tipos. Tengo una función que acepta un array de strings y numbers. Por ejemplo, quiero almacenar el ID (number) y el nombre (string) de un usuario en un mismo array. Así es como intenté hacerlo: ```typescript let users = [1, "Alice", 2, "Bob"]; ``` TypeScript infiere automáticamente el tipo `(string | number)[]`, lo que parece funcionar. Pero luego necesité controlar estrictamente el orden: primero un number, luego un string. Lo intenté así: ```typescript let user: [number, string] = [1, "Alice"]; ``` Aquí todo está bien. Pero ¿qué hago si quiero un array de estas tuplas? Escribí: ```typescript let users: [number, string][] = [[1, "Alice"], [2, "Bob"]]; ``` Pero luego surgió otra tarea: el array puede contener O strings O numbers, pero no ambos en un mismo elemento. Por ejemplo, una lista de tags: `["typescript", 42, "javascript", 100]`. Pregunta: ¿cómo