Maison >interface Web >js tutoriel >Comment les constantes JavaScript fonctionnent-elles avec les objets et les tableaux ?
Comprendre les objets constants en JavaScript : un guide complet
Les constantes, introduites dans ES6, fournissent un moyen d'empêcher la réaffectation et la redéclaration de variables . Cependant, le concept de constantes en JavaScript peut prêter à confusion, surtout lorsqu'il s'agit d'objets.
La nature des constantes
Selon la spécification, "La valeur de une constante ne peut pas changer par réaffectation, et une constante ne peut pas être redéclarée. Cela signifie qu'une fois qu'une constante est déclarée, sa valeur ne peut pas être directement modifiée ni son identité changée.
Exception sur les tableaux et les objets
Cependant, lorsqu'il s'agit de tableaux et d'objets , une distinction subtile apparaît. Lorsque vous ajoutez des éléments à un tableau ou des propriétés à un objet, vous ne réaffectez ni ne déclarez à nouveau la constante. Au lieu de cela, vous modifiez l'état interne de l'objet existant.
Exemples pratiques
Considérez ce code :
const xxx = 6; xxx = 999; // Error xxx++; // Error const yyy = []; yyy = 'string'; // Error yyy = [15, 'a']; // OK yyy.push(6); // OK yyy.push(1); // OK
Dans le cas de xxx, les deux tentatives de réaffectation de sa valeur entraînent des erreurs. Cependant, pour yyy, la méthode push() ajoute avec succès des éléments au tableau. En effet, la méthode push() modifie le tableau en place sans réattribuer son identité.
Conclusion
Les constantes en JavaScript sont des outils puissants pour empêcher les modifications involontaires. aux variables. Cependant, il est important de comprendre que les constantes ne gèlent pas complètement les objets. Bien que l'identité et la valeur attribuée de l'objet constant ne puissent pas être modifiées, son état interne (comme les éléments d'un tableau ou les propriétés d'un objet) peut être modifié sans violer les règles de const.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!