Ces modificateurs de propriété contrôlent si une propriété est requise et si elle peut être réassignée.
Optional (?)
{
: ;
?: ;
}
: = { : };
: = { : , : };
() {
u..;
u.?.;
}
Ces modificateurs de propriété contrôlent si une propriété est requise et si elle peut être réassignée.
?) {
: ;
?: ;
}
: = { : };
: = { : , : };
() {
u..;
u.?.;
}
Une propriété optionnelle a le type T | undefined, le compilateur vous force donc à gérer le cas d'absence — prévenant les erreurs "cannot read property of undefined".
interface Point { readonly x: number; readonly y: number; }
const p: Point = { x: 1, y: 2 };
p.x = 5; // ❌ Error: cannot assign to readonly property
// arrays too
const nums: readonly number[] = [1, 2, 3];
nums.push(4); // ❌ push doesn't exist on readonly array
readonly s'applique uniquement à la compilation (pas d'exécution à l'exécution), mais il documente et applique l'immuabilité dans le système de types, capturant les mutations accidentelles.
interface Config { readonly id: string; tags?: readonly string[]; }
type Frozen = Readonly<User>; // utility type makes ALL props readonly
? modélise les données vraiment optionnelles et applique la sécurité null ; readonly exprime et applique l'immuabilité (excellent pour la configuration, les props et pour éviter les mutations d'état accidentelles).
Les deux font passer la vérification de correction dans le compilateur.
Une bibliothèque de questions d'entretien IT avec des réponses détaillées — du Junior au Senior.
Faire un don