--- id: 587d7b8e367417b2b2512b5f title: Pass Arguments to Avoid External Dependence in a Function challengeType: 1 videoUrl: '' localeTitle: Pasar argumentos para evitar la dependencia externa en una función --- ## Description
El último desafío fue un paso más cerca de los principios de programación funcional, pero todavía falta algo. No alteramos el valor de la variable global, pero el incrementer la función no funcionaría sin que la variable global fixedValue estuviera allí. Otro principio de la programación funcional es declarar siempre sus dependencias explícitamente. Esto significa que si una función depende de que una variable u objeto esté presente, entonces pase esa variable u objeto directamente a la función como un argumento. Hay varias buenas consecuencias de este principio. La función es más fácil de probar, usted sabe exactamente qué entrada toma, y ​​no dependerá de nada más en su programa. Esto puede darle más confianza cuando modifica, elimina o agrega un nuevo código. Sabría lo que puede o no puede cambiar y puede ver dónde están las posibles trampas. Finalmente, la función siempre produciría la misma salida para el mismo conjunto de entradas, sin importar qué parte del código la ejecute.
## Instructions
Vamos a actualizar la función incrementer para declarar claramente sus dependencias. Escriba la función incrementer para que tome un argumento y luego aumente el valor en uno.
## Tests
```yml tests: - text: Su incrementer funciones no debe cambiar el valor de fixedValue . testString: 'assert(fixedValue === 4, "Your function incrementer should not change the value of fixedValue.");' - text: Su función incrementer debe tomar un parámetro. testString: 'assert(code.match(/function\s+?incrementer\s*?\(.+?\)/g), "Your incrementer function should take a parameter.");' - text: Su función incrementer debe devolver un valor que sea mayor que el valor de valor fixedValue . testString: 'assert(newValue === 5, "Your incrementer function should return a value that is one larger than the fixedValue value.");' ```
## Challenge Seed
```js // the global variable var fixedValue = 4; // Add your code below this line function incrementer () { // Add your code above this line } var newValue = incrementer(fixedValue); // Should equal 5 console.log(fixedValue); // Should print 4 ```
## Solution
```js // solution required ```