Eu acertei a questão e até saquei como fazer isso, mas queria entender melhor. Porque mesmo com os parâmetros já definidos dentro da function, só da certo se substituirmos pelos parâmetros dentro das const??
Eu acertei a questão e até saquei como fazer isso, mas queria entender melhor. Porque mesmo com os parâmetros já definidos dentro da function, só da certo se substituirmos pelos parâmetros dentro das const??
Olá, Marcos. Tudo bem?
No JavaScript, quando definimos uma função com parâmetros, esses parâmetros são como variáveis temporárias que só existem dentro dessa função. Se você definir um valor padrão para esses parâmetros (como b = 2
e c = 1
na função calculaProduto
), esses valores serão usados apenas se nenhum outro valor for fornecido quando a função for chamada.
No seu exemplo, quando você chama calculaProduto(3)
, você está fornecendo um valor para a
, mas não para b
ou c
. Então, os valores padrão definidos na função são usados, resultando em 3 * 2 * 1 = 6
.
Quando você chama calculaProduto(2, 4)
, você está fornecendo valores para a
e b
, mas não para c
. Então, o valor padrão para c
é usado, resultando em 2 * 4 * 1 = 8
.
Na chamada calculaProduto(1, 2, 3)
, você fornece valores para todos os parâmetros, então nenhum valor padrão é usado. O resultado é 1 * 2 * 3 = 6
.
Finalmente, quando você chama calculaProduto(2, undefined, 5)
, você está explicitamente passando undefined
para b
. Isso faz com que o valor padrão para b
seja usado (porque undefined
é considerado como "nenhum valor"), resultando em 2 * 2 * 5 = 20
.
Espero que isso ajude a esclarecer como os valores padrão dos parâmetros funcionam em JavaScript. É uma característica poderosa que pode tornar seu código mais flexível e resistente a erros!
Bons estudos!