1
resposta

Sintaxe [] vazia

Ola, na aula o professor diz que o campo [] pode passar argumentos opcionais do método, mas ele opta em passar nada. Minha duvida é porque ele passou vazio? Ele poderia simplesmente nao colocar este campo [] ja que ele esta vazio? E poderiam me dar um exemplo dos argumentos que poderiam passar? Pois não entendi direito a funcionalidade deste campo.

A baixo esta a parte especifica do código da aula que me refiro:

if(metodoValidacao(campoValor, [], state) === true){
    codigo;
}
1 resposta

Fala ai Willian, tudo bem? Vamos lá:

Minha duvida é porque ele passou vazio?

Ele está passando um array vazio porque é o valor do segundo parâmetro da função metodoValidacao.

Ele poderia simplesmente nao colocar este campo [] ja que ele esta vazio?

Se ele não passar nada o valor do state que deveria ser o terceiro parâmetro iria para o segundo.

Por exemplo, imagine uma função que tenha três parâmetros (como no exemplo acima):

const minhaFuncao = (p1, p2, p3) => {}

No caso o:

  • p1: Primeiro parâmetro.
  • p2: Segundo parâmetro.
  • p3: Terceiro parâmetro.

Podemos chamar a função de três maneiras:

minhaFuncao(1)
minhaFuncao(1, 2)
minhaFuncao(1, 2, 3)

No caso na primeira, apenas passamos o valor 1 para o primeiro parâmetro, no caso o p1. Dessa maneira o p2 e p3 serão undefined.

No segundo atribuímos um valor apenas para o primeiro e o segundo, o p3 ainda seria undefined.

E na ultima os três possuem valor.

Espero ter ajudado.