1
resposta

[Dúvida] Pode-se usar o console.log() com a função dentro?

Eu fiz as funções sem usar parâmetros, sei que pelo exercício isso é exigido, mas é correto usar assim também? (Eu modifiquei meu código original com parâmetros também. **Veja as duas versões abaixo:
**

//Função 01 - Criar uma função que exibe "Olá, mundo!" no console.
function exibirmensagem () 
{
    console.log('Olá, Mundo!');
}
// Uso da função 01
console.log(exibirmensagem());
//Função 02 - Criar uma função que recebe um nome como parâmetro e exibe "Olá, [nome]!" no console.
function receberNome() {
    let nome = prompt("Informe seu nome: ");
    console.log(`Olá, ${nome}!`);
}
//Uso da função 02
console.log(receberNome());
// Função 03 - Criar uma função que recebe um número como parâmetro e retorna o dobro desse número.
function retornarDobro()
{
  let numero = prompt("Informe um número:");
  return parseInt(dobro = numero*2);
}
// Uso da função 03
console.log(retornarDobro());
//Função  04 - Criar uma função que recebe três números como parâmetros e retorna a média deles
function mediaCalculo ()
{
    let numero1 = parseInt (prompt("Informe o primeiro número: "));
    let numero2 = parseInt (prompt("Informe o segundo número: "));
    let numero3 = parseInt(prompt("Informe o terceiro número: "));
    return parseInt( media = ((numero1+numero2+numero3)/3));
}
//Uso da função 4
console.log(mediaCalculo());
// Função 05 - Criar uma função que recebe dois números como parâmetros e retorna o maior deles.
function retornaMaior()
{
    let numero1 = parseInt (prompt("Informe o primeiro número: "));
    let numero2 = parseInt (prompt("Informe o segundo número: "));
    if(numero1>numero2)
    {
        console.log('Numero 1 é maior');
    }
    else
        console.log('Número 2 é maior');
}
//Uso da função 5
console.log(retornaMaior());
//Função  06 - Criar uma função que recebe um número como parâmetro e retorna o resultado da multiplicação desse número por ele mesmo
function multiplicaEspelho()
{
    let numero1 = parseInt (prompt("Informe o primeiro número: "));
    return parseInt(espelho = numero1*numero1);
}
//Uso da função 06
console.log(multiplicaEspelho());

Código com Parâmetros:

//Função 01 - Criar uma função que exibe "Olá, mundo!" no console.
function exibirmensagem () 
{
    console.log('Olá, Mundo!');
}
// Uso da função 01
exibirmensagem();

//Função 02 - Criar uma função que recebe um nome como parâmetro e exibe "Olá, [nome]!" no console.
function receberNome(nome) {
    console.log(`Olá, ${nome}!`);
}
//Uso da função 02
let nome = receberNome('Iruam');
// Função 03 - Criar uma função que recebe um número como parâmetro e retorna o dobro desse número.
function retornarDobro(numero)
{ 
  return numero*2
}
// Uso da função 03
let dobro = retornarDobro(13);
console.log(dobro);
//Função  04 - Criar uma função que recebe três números como parâmetros e retorna a média deles
function mediaCalculo (numero1, numero2, numero3)
{
    return (numero1+numero2+numero3)/3;
}
//Uso da função 4
let media = mediaCalculo(3,20,3);
console.log(media);

// Função 05 - Criar uma função que recebe dois números como parâmetros e retorna o maior deles.
function retornaMaior(numero1, numero2)
{
    if(numero1 > numero2)
    {
        numeroMaior = numero1;
        console.log(`O Primeiro Número é maior:${numeroMaior}`);
    }
    else
        numeroMaior = numero2;
        console.log(`O Segundo Número é maior: ${numeroMaior}`);
    return numeroMaior;
}
//Uso da função 5
let Maior = retornaMaior(35, 122);
console.log(Maior);

//Função  06 - Criar uma função que recebe um número como parâmetro e retorna o resultado da multiplicação desse número por ele mesmo
function multiplicaEspelho(numero)
{
  let espelho = numero * numero;
  return espelho
}
//Uso da função 06
let espelho = multiplicaEspelho(9);
console.log(espelho);
1 resposta

Oii, Geovani. Tudo bem?

É muito positivo ver que você não se limitou ao exercício e testou diferentes abordagens. Essa curiosidade é fundamental para aprender programação.

Vamos analisar suas duas dúvidas principais: o uso do console.log chamando uma função e a diferença entre usar prompt dentro ou fora da função.

**1. Sobre o console.log(funcao())**

Você perguntou se pode colocar a chamada da função dentro do console.log. A resposta é: depende do que a sua função faz.

Observe este exemplo da sua Função 01:

function exibirmensagem() {
    console.log('Olá, Mundo!');
}

// Seu uso:
console.log(exibirmensagem());

O que acontece aqui é o seguinte:

  1. O JavaScript executa exibirmensagem().
  2. A função imprime "Olá, Mundo!" no console.
  3. A função termina. Como ela não tem a palavra return, ela retorna, por padrão, undefined (indefinido).
  4. O console.log externo (o que chamou a função) recebe esse undefined e o imprime.

Resultado no console:

Olá, Mundo!
undefined

A regra prática:

  • Se a função apenas exibe algo (tem console.log dentro), chame-a diretamente: exibirmensagem();.
  • Se a função devolve um valor (tem return), use o console.log para ver esse valor: console.log(retornarDobro(5));.

2. Parâmetros vs. Prompt interno

Sobre sua segunda versão (com parâmetros): ela é considerada uma boa prática de programação.

Na sua primeira versão, a função retornarDobro tem duas responsabilidades: perguntar o número ao usuário e calcular. Isso deixa a função "presa" ao prompt. Se amanhã você quiser calcular o dobro de um número que veio de um banco de dados ou de um cálculo anterior, essa função não serviria.

Na segunda versão:

function retornarDobro(numero) {
  return numero * 2;
}

Essa função é pura lógica. Ela não se importa de onde vem o número. Isso permite que você a reutilize em diversas situações diferentes, não apenas quando há interação direta com o usuário via prompt.

Continue explorando essas variações, isso ajuda muito a fixar o conteúdo.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!