Tableaux Readonly et données immuables
Utilisez ReadonlyArray pour empêcher les modifications accidentelles.
Tableaux Readonly et données immuables est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage TypeScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours TypeScript Academy comprend 4 leçons au total.
Bienvenue
Le modificateur readonly sur les tableaux
const ids: readonly number[] = [1, 2, 3];
// ids.push(4); // Error
// ids[0] = 99; // Error
console.log(ids[0]); // OK — reading is fineLa forme générique ReadonlyArray<T>
const names: ReadonlyArray<string> = ['Alice', 'Bob'];
// names.push('Charlie'); // ErrorRenvoyer des tableaux en lecture seule depuis des fonctions
function getConfig(): readonly string[] {
return ['host', 'port', 'db'];
}Paramètres de fonction immuables
function sum(nums: readonly number[]): number {
return nums.reduce((a, b) => a + b, 0);
// nums.push(99); // Error inside function
}as const pour les tableaux littéraux
const colors = ['red', 'green', 'blue'] as const;
// type: readonly ['red', 'green', 'blue']
// colors.push('yellow'); // ErrorLe modificateur readonly ne gèle pas profondément
const users: readonly { name: string }[] = [{ name: 'Alice' }];
// users.push({}); // Error
users[0].name = 'Bob'; // Allowed — object itself is mutableImmuabilité profonde avec Readonly<T>
type ImmutableUser = Readonly<{ name: string; scores: readonly number[] }>;
const u: ImmutableUser = { name: 'Alice', scores: [90, 85] };
// u.name = 'Bob'; // Error
// u.scores.push(100); // ErrorAffectation entre tableaux modifiables et en lecture seule
const ro: readonly number[] = [1, 2];
const mutable: number[] = ro; // Error!Quand utiliser des tableaux en lecture seule
La propagation crée un nouveau tableau modifiable
const base: readonly number[] = [1, 2, 3];
const extended: number[] = [...base, 4]; // new mutable arrayVérification rapide
Récapitulatif
Questions Fréquemment Posées
La leçon « Tableaux Readonly et données immuables » est-elle gratuite ?
Oui — le texte complet de « Tableaux Readonly et données immuables » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours TypeScript Academy, passe à CoddyKit PRO. Le cours TypeScript Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Tableaux Readonly et données immuables » ?
Utilisez ReadonlyArray pour empêcher les modifications accidentelles. Tu pratiques TypeScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer TypeScript Academy ?
Aucune expérience préalable n'est requise. TypeScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Tableaux Readonly et données immuables » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon TypeScript Academy ?
Oui. Chaque leçon TypeScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Tableaux typés : T[] et Array
- Tableaux Readonly et données immuables
- Tuples : tableaux typés de longueur fixe
- Énumérations : constantes numériques et textuelles