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

[Dúvida] Dúvida com o return

Por que necessito usar o return, se estou usando uma variável para guardar o valor? Na aula diz que o return é para ''guardar'' o valor (entendi assim). Mas se a função de uma variável é guardar um valor, por que usar o return? Entendi assim: >> let numeroSecreto = gerarNumero()... se supormos que não há return na função, o número gerado não seria salvo pela variável, podendo ser usado depois?

1 resposta
solução!

Oi Júlio, como vai?

Se entendi bem, sua dúvida é do por quê utilizar o 'return' em uma função quando uma variável por si só já armazena os valores. A duvida aqui nasce por uma escolha de palavras do instrutor ao dizer que a função 'return' armazena valores, mas na verdade, ela não armazena. Uma função pode gerar valores e armazenar eles, mas eles só ficam dentro daquela função, não podendo ser acessados fora dela. A função a seguir resultaria em um erro:

function gerarNumero() {
  let numero =  7;
}
console.log(numero);

Pois linguagens de programação em geral seguem um conceito chamado encapsulamento que impede que variáveis dentro de funções sejam acessadas fora dela.

Mas como acessar o valor do numero secreto?

É aqui que entra o 'return'. Com ele, eu determino tudo de dentro de uma função que eu quero que seja acessado fora dela.

function gerarNumero() {
  let numero_gerado =  7;
  return numero_gerado
}
let numero =  gerarNumero();
console.log(numero);

Aqui eu declarei uma função que gera um numero (neste caso, com o valor 7) e retornei esse valor, ou seja, minha função executa uma atividade e traz de volta este valor. A função 'return' funciona como uma porta de saída para minha função onde somente aquilo que determinarmos pode sair por ela.

Em seguida, criei uma variável que armazena o retorno da minha função, isto é, qualquer valor que sair pela "porta de saída" da minha função, será armazenado na minha variável.

Ficou alguma duvida? Não hesite em perguntar.

Caso tenha resolvido sua dúvida, por favor marque o tópico como resolvido :D

Abraços