Prezados, A constante é usada para valores fixo mas durante este curso observei que a CONST foi usada diversas vezes para valores que são alterados. Neste curso, também não percebi o uso do LET, apenas o VAR.
Prezados, A constante é usada para valores fixo mas durante este curso observei que a CONST foi usada diversas vezes para valores que são alterados. Neste curso, também não percebi o uso do LET, apenas o VAR.
Fala Igor, tudo bem?
O que acontece, é que variáveis do tipo const
não podem ser alteradas DIRETAMENTE, usando atribuição, dessa forma:
const nome = 'Mateus';
console.log(nome) //Mateus
nome = 'Igor'
console.log(nome) //Error
Porém, alguns valores como do tipo Date
, podem ser alteradas de outras formas, com métodos próprios, como o setDate
que altera o dia da data:
const minhaData = new Date('August 19, 1975 23:15:30');
minhaData.setDate(24); //Altera o dia da data para 24
console.log(minhaData.getDate());
// nos Retorna dizendo que o dia é 24
Como pode ver, nós conseguimos alterar o valor não diretamente, caso queira ver um pouco mais sobre variáveis do tipo const
recomendo que dê uma olhada na documentação clicando aqui
Para entender sobre o restante dos tipos de variáveis, aqui na Alura temos um artigo muito interessante que explica bem a diferença entre os tipos, acesse-o clicando aqui
Espero ter ajudado, bons estudos :D
Matheus, uma CONST não pode ser alterada mas em algumas aula da Alura vejo usar const em laços , representando um valor que é alterado a cada leitura de laço.
Isso não é possivel, acredito que seja utilizado let
(que é comúm em laços), poderia demonstrar um exemplo aqui da Alura?
https://github.com/alura-cursos/1823_DOM/blob/projeto_final/projeto_final/main.js
es (18 sloc) 750 Bytes
import BotaoConclui from './componentes/concluiTarefa.js'
import BotaoDeleta from './componentes/deletaTarefa.js'
const criarTarefa = (evento) => {
evento.preventDefault()
const lista = document.querySelector('[data-list]')
const input = document.querySelector('[data-form-input]')
const valor = input.value
const tarefa = document.createElement('li')
tarefa.classList.add('task')
const conteudo = `<p class="content">${valor}</p>`
tarefa.innerHTML = conteudo
tarefa.appendChild(BotaoConclui())
tarefa.appendChild(BotaoDeleta())
lista.appendChild(tarefa)
input.value = " "
}
const novaTarefa = document.querySelector('[data-form-button]')
novaTarefa.addEventListener('click', criarTarefa)
Nesse caso não há nenhuma alteração de valor direto, em que definimos diretamente o valor:
const nome = "Mateus"
nome = "Pedro" //Erro de sintaxe
Nesse caso que você nos mandou estamos alterando o conteúdo do elemento HTML que está nessa veriável, porém a variável em sí não sofre nenhuma alteração, pois os elementos continuam os mesmos, variáveis do tipo const
só previnem alterações diretas como a que eu demonstrei logo acima, recomendo dar uma olhada na documentação clicando aqui para entender mais sobre essa variável.
Abraços e bons estudos :D
const
é uma variável somente leitura. Entretanto, se o valor atribuído a uma const
for um objeto JavaScript ele pode ser modificado. Exemplos de objetos JS:
Por isso, podemos modificar os valores de array armazenados em uma const, por exemplo:
const nome = ['carlos', 'felipe', 'julia'];
nome.push('fernando');
Mas se eu tentar sobrescrever o array
, colocando uma string
no lugar, por exemplo, vamos receber um erro do console:
nome = 'carmen';
//Uncaught TypeError: invalid assignment to const 'nome'
Você pode ler mais a respeito de const nesse post da mozilla: const.
Obrigado Matheus e Vanessa pelas explicações e dicas valiosas!