Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Contribuição sobre Const

Compartilho aqui conteúdo mais sobre a****** Const****** e sua aplicação em exemplos descritos na documentação do JavaScript: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/const

Além do mais tem exemplos práticos que podem ser aplicados no console do navegador para fixar o conteúdo.

Como esse exemplo:

***// NOTA: constantes podem ser declaradas em caixa alta ou baixa, // mas uma convenção comum é usar apenas caixa alta

// define MYFAV como uma constante e lhe atribui o valor 7
const MYFAV = 7;

// isto falha mas não emite erros no Firefox e Chrome (porém não falha no Safari)
MYFAV = 20;

// a variável MYFAV possui o valor 7
console.log("my favorite number is: " + MYFAV);

// tentar redeclarar a constante emite um erro - Uncaught SyntaxError: Identifier 'MYFAV' has already been declared
const MYFAV = 20;

// o nome MYFAV está reservado para a constante acima, logo também irá falhar
var MYFAV = 20;

// isso também vai falhar
let MYFAV = 20;

// É importante notar a natureza de escopo por bloco
if (MYFAV === 7) {
// não tem problema fazer isso, pois cria uma variável de bloco MYFAV
// com escopo local (o nome MYFAV poderia ser usado com let também)
let MYFAV = 20;

// MYFAV agora é 20
console.log("meu número favorito é " + MYFAV);

// isso retorna um erro, pois tenta registrar a variável no contexto global
var MYFAV = 20;
}

//MYFAV ainda é 7
console.log('meu número favorito é ' + MYFAV);

// const deve ser inicializada
const FOO; // SyntaxError: missing = in const declaration

// const também funciona com objetos
const MYOBJECT = {'key':'value'};

// Sobrescrever o objeto também falha (no Firefox e Chrome mas não no Safari) - Uncaught TypeError: Assignment to constant variable.
MYOBJECT = {"OTHERKEY": "value"};

// Entretanto, atributos de objetos não estão protegidos,
// logo a seguinte instrução é executada sem problemas
MYOBJECT.key = "otherValue"; // Utilize Object.freeze() se quiser tornar um objeto imutável

// o mesmo se aplica para arrays
const MYARRAY = [];
// É possível utilizar push para incluir itens no array
MYARRAY.push('A'); //["A"]
// Todavia, atribuir um novo array para a variável gera um erro
MYARRAY = ['B'];

** ***OBS:Este trecho mencionado fica localizado no tópico Exemplos dentro desse artigo compartilhado. ***

Bons estudos á todos!

1 resposta
solução!

Olá Jonathan! Obrigado por compartilhar esse conteúdo sobre o uso da palavra-chave "const" em JavaScript. É muito útil ter exemplos práticos para fixar o aprendizado.

Através dos exemplos que você compartilhou, é possível entender que uma constante em JavaScript é uma variável que não pode ser alterada após ser declarada. Ela é uma forma de garantir que um valor não seja modificado acidentalmente.

Por exemplo, no código que você mostrou, a constante MYFAV é declarada com o valor 7. Tentar atribuir um novo valor a essa constante resulta em um erro. Além disso, tentar redeclarar a constante também gera um erro.

É importante ressaltar que o escopo de uma constante é por bloco, ou seja, ela só é acessível dentro do bloco onde foi declarada. Isso permite que você tenha uma variável com o mesmo nome em diferentes blocos de código sem causar conflitos.

Outro ponto interessante é que a palavra-chave "const" também pode ser usada para declarar constantes que são objetos ou arrays. No entanto, embora o valor da constante não possa ser alterado, os atributos desse objeto ou os elementos desse array podem ser modificados.

Por exemplo, no código que você compartilhou, a constante MYOBJECT é um objeto e a constante MYARRAY é um array. Embora não seja possível atribuir um novo objeto ou array a essas constantes, ainda é possível alterar os atributos do objeto ou adicionar elementos ao array.

Espero que essas informações adicionais sejam úteis para você e para todos que estão estudando JavaScript. Continue compartilhando seu conhecimento e bons estudos!

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software