Avatar ·

Définition d'un tableau avec plusieurs types en TypeScript : union types vs tuples

Bonjour à tous ! J'ai récemment commencé à apprendre TypeScript et j'ai rencontré un problème lors de la déclaration d'un tableau qui peut contenir des éléments de différents types. J'ai une fonction qui prend un tableau de chaînes et de nombres. Par exemple, je veux stocker l'ID (nombre) et le nom (chaîne) d'un utilisateur dans un même tableau. Voici comment j'ai essayé de le faire : ```typescript let users = [1, "Alice", 2, "Bob"]; ``` TypeScript déduit automatiquement le type `(string | number)[]`, ce qui semble fonctionner. Mais ensuite, j'ai eu besoin de contrôler strictement l'ordre : d'abord un nombre, puis une chaîne. J'ai essayé ceci : ```typescript let user: [number, string] = [1, "Alice"]; ``` Tout va bien ici. Mais que faire si je veux un tableau de tels tuples ? J'ai écrit : ```typescript let users: [number, string][] = [[1, "Alice"], [2, "Bob"]]; ``` Mais ensuite, un autre problème est survenu : le tableau peut contenir SOIT des chaînes, SOIT des nombres, mais pas les deux dans un même élément. Par exemple, une liste de tags : `["typescript", 42, "javascript", 100]`. Question : comment