let se usa para variáveis devido seu valor ser alterado
let contador = 0
mas porque tecla é uma constante sendo que ele é modificado por uma variavel? isso não o torna uma variavel também?
const tecla = listaDeTeclas[contador]
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
let se usa para variáveis devido seu valor ser alterado
let contador = 0
mas porque tecla é uma constante sendo que ele é modificado por uma variavel? isso não o torna uma variavel também?
const tecla = listaDeTeclas[contador]
Oi, Bruno! Tudo bem?
Podemos dizer que a diferença fundamental entre let e const não está relacionada a se o valor da variável pode ser alterado ou não, mas sim a como a referência da variável funciona.
O let é usado para declarar variáveis mutáveis, ou seja, variáveis cujo valor pode ser alterado. No código que estamos trabalhando, usamos let contador no loop for porque desejamos que o valor de contador seja atualizado a cada iteração do loop.
Já o const é usado para declarar variáveis imutáveis, ou seja, variáveis cujo valor não pode ser reatribuído. No código, estamos usando const tecla para criar uma variável que mantém a mesma referência ao elemento da lista listaDeTeclas durante a execução do loop. No entanto, o valor do elemento em si (o objeto referenciado por tecla) pode ser modificado, o que é diferente de reatribuir tecla a outro objeto.
Neste contexto, o tecla mantém a mesma referência ao elemento da lista listaDeTeclas, mas o objeto em si (representado pelo tecla) não é reatribuído. A cada iteração do loop, o objeto referenciado por tecla muda para o próximo elemento da lista listaDeTeclas, mas a própria variável tecla ainda é uma constante.
Portanto, em resumo, a diferença entre let contador e const tecla é que contador é uma variável que pode ser reatribuída a um novo valor a cada iteração, enquanto tecla é uma constante que mantém a mesma referência ao objeto da lista, mas o objeto em si pode ser modificado. Isso não torna tecla uma variável mutável, apenas permite que o objeto referenciado por tecla seja modificado, desde que a referência da variável tecla não seja reatribuída.
Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!
Bruno,
Achei uma explicação legal lá na W3Schools, vou passar o link para você, mas antes vou eu mesmo tentar explicar.
A palavra-chave "CONST" é um pouco dúbia. Ela NÃO é uma constante como no C#. Ela define uma referência constante a um valor.
Por causa disso, você NÃO pode:
Mas você PODE:
Veja que no caso destas variáveis complexas estamos alterando o 'interno' da variável e não a variável propriamente dita.
Abaixo alguns links interessantes que recomendo que você veja:
===============================================================
JavaScript Const
ERROR:
const PI = 3.141592653589793;
PI = 3.14; // This will give an error
PI = PI + 10; // This will also give an error
https://www.w3schools.com/JS/js_const.asp
===============================================================
DEPURANDO VARIÁVEIS COMPLEXAS NO JAVASCRIPT COM CONSOLE.TABLE
by Fabrizio Gianfratti Manes
Vamos conhecer um truque não padrão do JavaScript que ajuda e muito na depuração de variáveis complexas – o console.table.
Como exemplo, vamos imaginar que temos um vetor de objetos complexos:
var vetorObjetos = [
{
nome: "Paulo",
idade: 30
},
{
nome: "Cecilia",
idade: 55
}
];
...
https://gianfratti.com/index.php/depurando-variaveis-complexas-no-javascript-com-console-table/
===============================================================
Tipos de variáveis em JavaScript
Os tipos de variáveis em JS são classificados em:
...
https://medium.com/trainingcenter/entendendo-os-tipos-e-variaveis-em-javascript-f9753b4c7b61
===============================================================
O QUE SÃO VARIÁVEIS JAVASCRIPT, PARA QUE SERVEM E COMO CRIAR?
Por Ugo Roveda - 25/06/21 - 9 min de leitura
Como Javascript é uma linguagem fracamente tipada, ( isto é, não força o programador a declarar qual o tipo de dado que a variável receberá em tempo de desenvolvimento ) erros como este somente aparecem em tempo de execução, pois o programador não será alertado quando efetuar operações com tipos de dados não compatíveis.
...
https://kenzie.com.br/blog/variaveis-javascript/
===============================================================
Como definir constantes em C#
Artigo - 06/04/2023
...
===============================================================
Espero ter ajudado e se ajudei e solucionou sua dúvida, por favor, não esqueça de fechar o tópico e me pontuar... obrigado!
[]'s,
Fabio I.