Tuples readonly
Fait partie de la section Introduction à TypeScript du Journey JavaScript de Coddy — leçon 18 sur 73.
Tout comme vous pouvez rendre les tableaux immuables avec le modificateur readonly, TypeScript vous permet de créer des tuples en lecture seule qui ne peuvent pas être modifiés après l'initialisation. Cela offre les mêmes avantages d'immuabilité pour les données structurées de longueur fixe.
Lorsque vous ajoutez readonly avant un type de tuple, TypeScript empêche toute modification des éléments du tuple.
Cela signifie que vous ne pouvez pas réassigner de valeurs à des positions spécifiques ou utiliser des méthodes qui modifieraient le contenu du tuple :
let point: readonly [number, number] = [10, 20];
let coordinates: readonly [string, number, number] = ["A", 5, 15];Le modificateur readonly est particulièrement précieux pour les tuples car ils représentent souvent des données structurées importantes comme des coordonnées, des valeurs de couleur RGB ou des enregistrements de base de données qui ne devraient pas changer une fois créés.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Défi
FacileCréez un tuple en lecture seule (readonly) nommé startPoint qui représente un point 2D avec deux nombres (coordonnées x et y). Initialisez-le avec les valeurs 0 et 0.
Créez un autre tuple en lecture seule nommé colorRGB qui représente une valeur de couleur RGB avec trois nombres (rouge, vert, bleu). Initialisez-le avec les valeurs 255, 128 et 64.
Créez un troisième tuple en lecture seule nommé userRecord qui contient un nombre (ID utilisateur), une chaîne de caractères (nom d'utilisateur) et un booléen (statut actif). Initialisez-le avec les valeurs 42, "admin" et true.
Affichez les trois tuples en lecture seule dans la console sur des lignes séparées dans l'ordre où ils ont été créés.
Aide-mémoire
Créez des tuples en lecture seule en utilisant le modificateur readonly avant le type de tuple pour empêcher les modifications après l'initialisation :
let point: readonly [number, number] = [10, 20];
let coordinates: readonly [string, number, number] = ["A", 5, 15];
Les tuples en lecture seule sont utiles pour les données structurées telles que les coordonnées, les valeurs RVB ou les enregistrements de base de données qui ne devraient pas changer une fois créés.
Essayez vous-même
// À FAIRE : Écrivez votre code ici
// Créez les tuples en lecture seule comme décrit dans le défi
// Affichez les trois tuplesCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Introduction à TypeScript
1Premiers pas avec TS
Qu'est-ce que TypeScript ?Pourquoi utiliser TypeScript ?Votre premier code TypeScriptProcessus de compilation et erreursRécapitulatif : Introduction à TS4Travailler avec les fonctions
Typage des paramètres et valeurs de retourTypage des fonctions fléchéesLe type de retour 'void'Paramètres optionnels avec '?'Valeurs par défaut des paramètresTypage des paramètres RestDéfinir des types de fonctionsRécapitulatif : Créer des fonctions typées2Types fondamentaux
Types de base : str, num, booleanLe type 'any' : la porte de sortieLe type 'unknown'Travailler avec 'null' et 'undef'L'inférence de type en actionAnnotations de type explicitesRécapitulatif : Pratique des types fondamentaux5Types : Alias, Unions & Intersections
Alias de types pour les primitifsTypes d'union ('|')Travailler avec les types d'unionTypes littérauxTypes d'intersection ('&')Combiner des alias de typesRécapitulatif : Combinaisons de types avancées3Structure de données : Tableaux et Tuples
Tableaux typésModificateur 'readonly' pour les tableauxQu'est-ce qu'un tuple ?Déclaration et accès aux tuplesDéstructuration de tuplesTuples readonlyTableaux typés multidimensionnelsSpread operator avec les tableauxRécapitulatif : Tableaux et tuples6Typage des objets et interfaces
Annotations de type d'objet en ligneAlias de type pour les objetsIntroduction aux interfacesInterfaces vs Alias de typePropriétés optionnelles et ReadonlyÉtendre les interfaces et les typesAjout de méthodes aux interfacesRécapitulatif : Définir la structure des objets