Sé que ES6 aún no está estandarizado, pero muchos navegadores actualmente admiten const
palabras clave en JS.
En las especificaciones, está escrito que:
El valor de una constante no puede cambiar mediante la reasignación y una constante no se puede volver a declarar. Por ello, aunque es posible declarar una constante sin inicializarla, sería inútil hacerlo.
y cuando hago algo como esto:
const xxx = 6;
xxx = 999;
xxx++;
const yyy = [];
yyy = 'string';
yyy = [15, 'a'];
Veo que todo está bien, xxx
está quieto 6
y yyy
está []
.
Pero si lo hago yyy.push(6); yyy.push(1);
, mi matriz constante se ha cambiado. Ahora mismo lo es [6, 1]
y por cierto todavía no puedo cambiarlo yyy = 1;
.
¿Es un error o me falta algo? Lo probé en el último Chrome y FF29.