Explica este código JavaScript
Dificultad: Avanzado
const f = (arr=[]) => {
return arr.map((item) => {
return (item * 2 ?? item + 1)
})
}
console.log(f())
console.log(f([1,2,3]))
console.log(f([1,2,0]))
A. TypeError, [ 2,4,6 ], [ 2,4,0 ]
B. [], [ 2,4,6 ], [ 2,4,0 ]
C. SyntaxError, [ 2,4,0 ], [ 2,4,0 ]
D. Ninguna de las anteriores.
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
B.
[],[ 2,4,6 ],[ 2,4,0 ]La función tiene configurada un parámetro por defecto en caso de que la llamemos sin parámetros.
El nullish coalescing operator solo se ejecuta si manipulamos valores
nulloundefinedy como no es el caso en ninguno de los ejemplos la expresiónitem + 1no llega a ejecutarse nunca.El último ejemplo puede ser un poco "trampa" por que tenemos un valor
0, solo debemos recordar que un valor falsy no es lo mismo que un valor nullish.