DEV Community

Cristian Fernando
Cristian Fernando

Posted on

Paracetamol.js💊| #112: Explica este código JavaScript

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]))
Enter fullscreen mode Exit fullscreen mode

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)

Collapse
 
duxtech profile image
Cristian Fernando

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 o undefined y como no es el caso en ninguno de los ejemplos la expresión item + 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.