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));
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.
Top comments (1)
Respuesta:
D. Solo
exp
es una función puraUna función pura es aquella que:
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 queDate.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.