Algoritmos de JavaScript y Estructuras de Datos - Argumentos Opcionales

Ayuda!!
A mi parecer hay un error con el test “addTogether(5, undefined) should return undefined
Al llamar la funcion con esos argumentos es lo mismo que hacer addTogether(5) lo cual deberia devolver una función.
Pasan todos los test menos ese.

Mi codigo:

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;
}

¿Cuál es el link del reto?
para poder probar el código

Hola! Bienvenido a la comunidad :partying_face:!

La solucion no esta a simple vista. La idea es poder aprender a diferenciar cuando se le pasa y no se le pasa un parametro a la funcion, incluso si es undefined.

Mira la diferencia entre estos dos casos:

function testFn() {
  console.log("Cantidad de Argumentos:", arguments.length);
}

testFn(1, 2, 3); // Salida: "Cantidad de Argumentos: 3"
testFn(1, undefined, undefined) // Salida: "Cantidad de Argumentos: 3"
testFn(1); // Salida: "Cantidad de Argumentos: 1"

Teniendo en cuenta esto, entonces si hay una diferencia entre pasarle o no undefined.

Otra cosa, en el futuro, tambien recuerda compartir el link hacia la leccion que te da problemas, como bien menciona @franciscomelov


Por cierto, modifique tu publicacion para mejorar el formato. En el futuro procura utilizar las comillas invertidas ` para compartir tu codigo, asi es mas facil de leer para el resto:

Revisa esta publicacion para encontrar las comillas invertidas.