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]
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.