Objets Const en JavaScript : compréhension des propriétés immuables
Malgré le mot-clé constant dans ES6, vous pouvez apparemment modifier des objets constants en JavaScript. Cela peut être déroutant, surtout si l’on considère l’affirmation d’immuabilité de la spécification. Alors, que se passe-t-il ?
Premièrement, comme le précise la documentation MDN, le mot-clé constant interdit la réaffectation et la re-déclaration de la constante elle-même. Cependant, lorsque vous modifiez un objet ou un tableau, vous ne le réaffectez ni ne le déclarez à nouveau. Au lieu de cela, vous manipulez simplement les propriétés de l'objet ou les éléments du tableau.
Considérez les exemples :
const x = {}; x.foo = 'bar'; // Adds a property to an existing object
const y = []; y.push('foo'); // Appends an element to an existing array
Dans les deux cas, l'objet constant (x) et le tableau ( y) restent les mêmes références. Vous ne modifiez pas l'objet lui-même, mais vous ajoutez ou modifiez ses éléments. Ceci est autorisé car cela ne viole pas l'immuabilité de la référence constante.
Cependant, la réaffectation ou la re-déclaration est toujours empêchée :
const x = {}; x = {foo: 'bar'}; // Error: Reassigning a constant
const y = ['foo']; const y = ['bar']; // Error: Re-declaring a constant
Par conséquent, même si vous pouvez modifiez les propriétés d'un objet constant ou les éléments d'un tableau constant, vous ne pouvez pas remplacer ou redéfinir la référence elle-même.
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!