Programación de algoritmos intermedios - Argumentos opcionales

Cuéntanos qué está pasando:
Hay un error con el test “addTogether(5, undefined) should return undefined

Tu código hasta el momento

function addTogether(a, b) {
  if(typeof a !== 'number'){
    return undefined
  }
  if(b===undefined) {
    return function(c) {
      if (typeof c !== 'number'){
        return undefined;
      }
      return a + c;
    }
  }
  if(typeof b !== 'number'){
      return undefined
  }
  console.log(b)
  return a + b;
}

// addTogether(2, undefined);
// console.log(addTogether("https://www.youtube.com/watch?v=dQw4w9WgXcQ"))
addTogether(2)

Información de tu navegador:

El agente de usuario es: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36

Challenge: Programación de algoritmos intermedios - Argumentos opcionales

Enlaza al desafío:

¡Hola Cris! ¿Cómo estás? Espero que muy bien.

Estuve mirando tu consulta y tuve que buscar información porque yo aún no llegué a ese ejercicio.

Por un lado te recomiendo que leas las pistas que te dan.

Por otro lado, te recomiendo quizás, en ves de usar b === undefined para verificar si te están pasando el segundo argumento, usar el objeto arguments de la función. Si arguments.length es 1, eso quiere decir que no te han pasado el segundo argumento.

Te dejo un artículo de MDN para que leas sobre el objeto arguments.

Saludos,
Federico.