No código não foi definido o que seriam "idade" ou "idades". Como o programa entendeu o que eram esses valores? Não entendi como no "for" das funções o programa entendeu que as idades que ele deveria verificar eram a idadeStefany, 20, 23, 18 e 7.
No código não foi definido o que seriam "idade" ou "idades". Como o programa entendeu o que eram esses valores? Não entendi como no "for" das funções o programa entendeu que as idades que ele deveria verificar eram a idadeStefany, 20, 23, 18 e 7.
Olá, Helena:
Aqui, idade foi passado como parâmetro (entre parênteses) da função calculaProximaIdade, nesse caso, ele se comporta como se fosse uma variável exclusivamente dentro da função:
function calculaProximaIdade(idade) {
idade += 1;
console.log(idade);
}
O mesmo acontece aqui, no caso de idades e calculaProximasIdades, mas note que agora aparece "[i]" na instrução, o que indica que se trata de um "array" ( ou seja, um conjunto de valores indexados, com posição definida):
function calculaProximasIdades(idades) {
for (let i = 0; i < idades.length; i += 1) {
idades[i] += 1;
}
console.log(idades);
}
Obs: "const" e "let" equivalem a "var", ou seja, significam que se está declarando uma variável.
Nessa parte do código, ao chamar a função calculaProximaIdade, foi passado como parâmetro idadeStefany, ou seja, foi falado para o sistema: "sistema, considere idadeStefany (que vale 21 nesse caso) como parâmetro da função calculaProximaIdade e execute essa função":
const idadeStefany = 21;
calculaProximaIdade(idadeStefany);
Então, idade, na função, passou a ser a idadeStefany, em todos os lugares da função em que ele aparece.
E no caso da chamada da função calculaProximasIdades o parâmetro idades foi substituído por idadesAmigos, seguindo o mesmo raciocínio. Note que aqui, o valor da variável idadesAmigos é um array:
const idadesAmigos = [idadeStefany, 20, 23, 18, 7];
calculaProximasIdades(idadesAmigos);
Espero ter ajudado. Bons estudos!