A const
ne peut pas être réaffectée, tout comme une variable readonly
propriété.
Essentiellement, lorsque vous définissez une propriété, vous pouvez utiliser les éléments suivants readonly
pour empêcher la réaffectation. Il s'agit en fait d'une vérification au moment de la compilation.
Lorsque vous définissez un const
(et ciblez une version plus récente de JavaScript pour préserver la variable const
dans la sortie), la vérification est également effectuée au moment de l'exécution.
Ils font donc tous deux la même chose, mais l'un concerne les variables et l'autre les propriétés.
const x = 5;
// Not allowed
x = 7;
class Example {
public readonly y = 6;
}
var e = new Example();
// Not allowed
e.y = 4;
Note importante... "ne peut être réaffecté" n'est pas la même chose que l'immuabilité.
const myArr = [1, 2, 3];
// Not allowed
myArr = [4, 5, 6]
// Perfectly fine
myArr.push(4);
// Perfectly fine
myArr[0] = 9;
3 votes
Voir aussi en lecture seule, différence avec const (livre TypeScript Deep Dive).
6 votes
mise à jour du lien vers le livre