Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida na função validar campos

Esta dúvida foi brevemente explicada através do tópico do link abaixo, porém ainda fiquei com dúvida. https://cursos.alura.com.br/forum/topico-funcao-validarcampos-139932

novoEstado[name] = validacoes[name](value)

Não consigo compreender o que realmente acontece nesse tipo de sintaxe. Gostaria de uma explicação um pouco mais detalhada.

Obrigado!

2 respostas
solução!

Fala Jhonas, tudo bem? Espero que sim!

No JavaScript podemos acessar objetos de duas formas, usando notação de ponto:

objeto.propriedade

Ou notação de colchetes:

objeto[propriedade]

A notação de colchetes aceita uma string com o nome da propriedade que você deseja aceitar, por exemplo, se tivermos um objeto chamado melancia com as suas devidas propriedades:

const melancia = {
    tamanho: 23,
    peso: 40
}

Podemos acessar essas propriedades da seguinte forma:

melancia["tamanho"] //23
melancia["peso"] //40

E porque utilizar esse tipo de notação?

Utilizamos isso pois podemos utilizar variáveis, sendo assim deixando o acesso a uma propriedade mais dinâmica, como por exemplo na sintaxe abaixo:

novoEstado[name] = validacoes[name](value)

No objeto novoEstado estamos acessando a propriedade que for igual a variável name (que é o atributo name do input que pode ser cpf ou telefone, etc...) e estamos atribuindo a ela o retorno do método que iremos acessar também que for igual a variável name.

Vamos a um exemplo, digamos que temos o input de cpf e o usuário digita algo, como o valor do name do input é cpf, ficará assim:

novoEstado["cpf"] = validacoes["cpf"](value)

Ou seja, estariamos acessando a propriedade cpf dentro de novoEstado e atribuindo o retorno do método que o nome for igual a cpf dentro do objeto validacoes.

Isso deixa nossa função bem mais genérica utilizando variáveis.

Espero que tenha entendido a explicação, abraços e bons estudos :D

Muito obrigado pela ajuda, Mateus! Você conseguiu esclarecer a minha dúvida e me ensinou algo a mais.

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