Eu sei que o ES6 ainda não está padronizado, mas muitos navegadores atualmente oferecem suporte a const
palavras-chave em JS.
Na especificação, está escrito que:
O valor de uma constante não pode ser alterado por meio da reatribuição, e uma constante não pode ser declarada novamente. Por causa disso, embora seja possível declarar uma constante sem inicializá-la, seria inútil fazê-lo.
e quando faço algo assim:
const xxx = 6;
xxx = 999;
xxx++;
const yyy = [];
yyy = 'string';
yyy = [15, 'a'];
Vejo que está tudo bem, xxx
ainda está 6
e yyy
está []
.
Mas se eu fizer isso yyy.push(6); yyy.push(1);
, meu array constante foi alterado. Agora é [6, 1]
e, por falar nisso, ainda não posso mudar com yyy = 1;
.
Eu sou um bug ou estou faltando alguma coisa? Eu tentei no mais recente Chrome e FF29