DEV Community

Cristian Fernando
Cristian Fernando

Posted on

Paracetamol.js馃拪| #101: Explica este c贸digo JavaScript

Explica este c贸digo JavaScript

Dificultad: Avanzado

驴Cu谩l de las siguientes funciones es pura?

//#1
const returnNumber = num => num;
console.log(returnNumber(Math.random()));

//#2
const returnDate = date => date;
console.log(returnDate(Date.now()));

//#3
const getApi = (api) => {
  return fetch(api)
    .then(res => res.json())
    .then(response => console.log(response))
}
console.log(getApi("https://jsonplaceholder.typicode.com/users"));

//#4
const exp = (x, y) => x ** y;
console.log(exp(2,8));
Enter fullscreen mode Exit fullscreen mode

A. getApi y returnNumber son funciones puras
B. Ninguna es una funci贸n pura
C. Todas son funciones puras
D. Solo exp es una funci贸n pura

Respuesta en el primer comentario.


Discussion (1)

Collapse
duxtech profile image
Cristian Fernando Author

Respuesta:
D. Solo exp es una funci贸n pura

Una funci贸n pura es aquella que:

  • Dados los mismos argumentos siempre retorna el mismo valor independientemente de las veces que llamemos a la funci贸n.
  • No tiene que tener efectos secundarios.

Solo la funci贸n exp del ejemplo cumple ambas condiciones.

returnNumber no puede ser pura puesto que recibe le mandamos un n煤mero random como argumento, esto hara que siempre regrese valores diferentes.

returnDate tampoco pueder ser una funci贸n pura puesto que Date.now() regresa valores diferentes siempre.

getApi no puede ser pura por que dependemos de una API externa que no sabemos si el d铆a de ma帽ana seguira funcionando bien o no, no podemos estar seguros si el servidor tendr谩 problemas y nos devuelva informaci贸n contaminada o incorrecta.