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
null
oundefined
y como no es el caso en ninguno de los ejemplos la expresiónitem + 1
no 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.