Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no código

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.

1 resposta
solução!

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!