DEV Community

Cristian Fernando
Cristian Fernando

Posted on

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

Explica este c贸digo JavaScript

function nums(a, b) {
  if
  (a > b)
  console.log('a is bigger')
  else 
  console.log('b is bigger')
  return 
  a + b
}

console.log(nums(4, 2))
console.log(nums(1, 2))
Enter fullscreen mode Exit fullscreen mode
  • A:a is bigger, 6 y b is bigger, 3
  • B: a is bigger, undefined y b is bigger, undefined
  • C: undefined y undefined
  • D: SyntaxError

Respuesta en el primer comentario.


Discussion (1)

Collapse
duxtech profile image
Cristian Fernando Author

Respuesta:
B: a is bigger, undefined y b is bigger, undefined

Despu茅s de una expresi贸n javascript pone autom谩ticamente un punto y coma para indicar al interprete que dicha expresi贸n finalizo en una l铆nea de c贸digo en concreto. Esto se denomina Insercci贸n autom谩tica de punto y coma.

Al llegar al return el programador ve esto:

  return 
  a + b
Enter fullscreen mode Exit fullscreen mode

Pero el interprete reconoce la palabra return con el fin de una expresi贸n, por lo tanto, aunque no lo veas, javascript har谩 esto:

  return;
  a + b; // jam谩s llegamos a ejecutar esta l铆nea
Enter fullscreen mode Exit fullscreen mode

Y ya sabemos que en una funci贸n al encontrar la palabra return todo el c贸digo posterior que pueda haber no se ejecuta, ni si quiera se evalua, entonces jam谩s se llegara a hacer la operaci贸n a + b.

Cuando una funci贸n no retorna nada explicitamente, javascript hace que el return arroje un undefined de manera implicita.