const significa: você não pode alterar o valor atribuído inicialmente.
Primeiro, defina o que é um valor em js. O valor pode ser: Booleanos, strings, números, objetos, funções e valores indefinidos.
Tipo: As pessoas estão chamando você pelo seu nome, não está mudando. No entanto, você muda de roupa. A ligação entre as pessoas e você é o seu nome. O resto pode mudar. Desculpe pelo exemplo estranho.
Então, deixe-me dar alguns exemplos:
const isItOn = true;
isItOn = false;
const counter = 0;
counter++;
const name = 'edison';
name = 'tesla';
const fullname = {
name: 'albert',
lastname: 'einstein'
};
fullname = {
name: 'werner',
lastname: 'heisenberg'
};
fullname.name = 'hermann';
const increase = aNumber => ++aNumber;
increase = aNumber => aNumber + 1;
let anotherNumber = 3;
const decrease = () => --anotherNumber;
anotherNumber = 10;
decrease();
const chaos = undefined;
chaos = 'let there be light'
const weird = NaN;
weird = 0
Como você pode ver, a menos que não altere o "primeiro" valor atribuído a const, não há erro. Sempre que você tenta alterar o primeiro valor atribuído para outra coisa, ele fica irritado e dá um erro.
Portanto, esta é a segunda coisa que você deve saber ao usar const
. Ou seja, ele deve ser inicializado com um valor em sua declaração ou ficará zangado.
const orphan;
const rich = 0;