Je sais que ES6 n'est pas encore standardisé, mais un nombreux navigateurs prennent actuellement en charge les const
mots-clés dans JS.
Dans la spécification, il est écrit que:
La valeur d'une constante ne peut pas changer par une réaffectation et une constante ne peut pas être déclarée à nouveau. Pour cette raison, bien qu'il soit possible de déclarer une constante sans l'initialiser, il serait inutile de le faire.
et quand je fais quelque chose comme ça:
const xxx = 6;
xxx = 999;
xxx++;
const yyy = [];
yyy = 'string';
yyy = [15, 'a'];
Je vois que tout va bien xxx
est toujours 6
etyyy
est[]
.
Mais si je le fais yyy.push(6); yyy.push(1);
, mon tableau constant a été changé. En ce moment, c'est [6, 1]
et d'ailleurs je ne peux toujours pas le changer avec yyy = 1;
.
Est-ce un bug ou est-ce que je manque quelque chose? Je l'ai essayé dans le dernier chrome et FF29