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