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))
- A:
a is bigger,6yb is bigger,3 - B:
a is bigger,undefinedyb is bigger,undefined - C:
undefinedyundefined - D:
SyntaxError
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
B:
a is bigger,undefinedyb is bigger,undefinedDespué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
returnel programador ve esto:Pero el interprete reconoce la palabra
returncon el fin de una expresión, por lo tanto, aunque no lo veas, javascript hará esto:Y ya sabemos que en una función al encontrar la palabra
returntodo el código posterior que pueda haber no se ejecuta, ni si quiera se evalua, entonces jamás se llegara a hacer la operacióna + b.Cuando una función no retorna nada explicitamente, javascript hace que el
returnarroje unundefinedde manera implicita.