# Programación de algoritmos intermedios - Argumentos opcionales

**URL:** <https://forum.freecodecamp.org/t/programacion-de-algoritmos-intermedios-argumentos-opcionales/614871>\
**Category:** General\
**Tags:** español\
**Created:** [June 8, 2023, 10:02pm UTC](https://forum.freecodecamp.org/t/programacion-de-algoritmos-intermedios-argumentos-opcionales/614871 "2023-06-08T22:02:26Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![crisDk](https://avatars.discourse-cdn.com/v4/letter/c/a87d85/32.png) [@crisDk](https://forum.freecodecamp.org/u/crisDk)\
**Post date:** [June 8, 2023, 10:02pm UTC](https://forum.freecodecamp.org/t/programacion-de-algoritmos-intermedios-argumentos-opcionales/614871/1 "2023-06-08T22:02:26Z")

</div>

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

**Tu código hasta el momento**

```javascript
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:**

> **[freeCodeCamp.org](https://www.freecodecamp.org/espanol/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional)**
>
> Aprende a programar, ¡GRATIS!

---

<div class="post-metadata">

**Author:** ![fgfagundez](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/fgfagundez/32/344713_2.png) [@fgfagundez](https://forum.freecodecamp.org/u/fgfagundez)\
**Post date:** [July 9, 2023, 5:28pm UTC](https://forum.freecodecamp.org/t/programacion-de-algoritmos-intermedios-argumentos-opcionales/614871/2 "2023-07-09T17:28:51Z")

</div>

¡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](https://forum.freecodecamp.org/t/algoritmo-de-argumentos-opcionales/19560) 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](https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Functions#usar_el_objeto_arguments) de MDN para que leas sobre el objeto `arguments`.

Saludos,  
Federico.

---

<div class="post-metadata">

**Author:** ![ILM](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/ilm/32/363239_2.png) [@ILM](https://forum.freecodecamp.org/u/ILM)\
**Post date:** [January 7, 2025, 11:48am UTC](https://forum.freecodecamp.org/t/programacion-de-algoritmos-intermedios-argumentos-opcionales/614871/3 "2025-01-07T11:48:35Z")

</div>


