como retornar un if en una funcion JavaScript

IM

@israelignaciomunozlavado

hola gente, necesito la siguiente ayuda, como puedo retornar el siguiente if en una funcion para que diga bienvenido si es "m", o bienvenida si es "f", no se muy bien donde colocar el return ya que no lo quiero hacer con este codigo, sino con el if function saludar(persona, sexo){ return sexo === "m" ? "hola bievenido a mi casa "+persona : "hola bievenida a mi casa "+persona

KT

@kevintorresc

Podrías colocar un return dentro del if y else.

function persona(nombre, sexo) {
   if (sexo === 'm') {
       return 'Bienvenido ' + nombre
   } else {
       return 'Bienvenida ' + nombre
   }
}

O puedes usar una variable para guardar el mensaje correspondiente y retornar dicha variable.

function persona(nombre, sexo) {
   let mensaje

   if (sexo === 'm') {
       mensaje = 'Bienvenido ' + nombre
   } else {
       mensaje = 'Bienvenida ' + nombre
   }

   return mensaje
}
Avatar

@erwinfriasmtz

Hola Israel, con base a tu requerimiento, podemos solucionarlo de la siguiente manera:

function saludar (nombre, sexo) {
   return "Hola, " + (sexo === "m" ? "bienvenido" : "bienvenida") + " a mi casa " + nombre
}

console.log(saludar("Erwin","m"))
console.log(saludar("Lili","f"))

Por favor, si alguien lo puede implementar de otra manera, se agradece la colaboración.

KT

@kevintorresc

Otra manera de hacer lo mismo, usando template strings.

function saludar (nombre, sexo) {
    let mensaje = (sexo === 'm') ? 'bienvenido' : 'bienvenida'

    return `Hola, ${mensaje} a mi casa ${nombre}.`
}

O lo mismo pero con una función flecha.

const saludar = (nombre, sexo) => (
    `Hola, ${sexo === 'm' ? 'bienvenido' : 'bienvenida'} a mi casa ${nombre}.`
)

En la respuesta anterior no lo hice con un ternario ya que pensé que la duda era hacerlo de la otra forma, parece que entendí mal 😅 igual espero que a alguien le sirva.

Avatar

@erwinfriasmtz

Claro, existen varias formas de solucionarlo, sólo hay que comprender los requerimientos solicitados. 😉

IM

@israelignaciomunozlavado

hola muchas gracias, pero mi duda era como poder hacerlo con un if mas que nada, porque no se donde colocar el return con la condicion if dentro de una funcion, gracias

Avatar

@erwinfriasmtz

Estimado Israel, te sugiero ser más claro con lo que necesitas, en tu pregunta haces referencia al operador condicional ternario por el código que compartes:

function saludar(persona, sexo){ return sexo === "m" ? "hola bievenido a mi casa "+persona : "hola bievenida a mi casa "+persona

Ya que tu duda era donde colocar el return dentro de una la condicional if , lo que compartió Kevin Torres te puede ayudar mucho.

¡Saludos!

IM

@israelignaciomunozlavado

sisisisi me di cuenta que no me explique muy bien, pero de todas muchas gracias, te pasaste master!

Recuerdainiciar sesiónpara participar en la comunidad.