Código
function dividir(num1, num2) { if ( num1 !=0 && num2 !=0 && num1>=num2) { return num1/num2; } return; } var resultado = dividir(parseInt(prompt("Pon Numero")), parseInt(prompt("Pon Numero"))); if(resultado) { alert(resultado); } else { alert("No se puede dividir"); }
En la línea 10 hago return explícito. Me surgen varias dudas.
Hay alguna diferencia entre que escriba el return o no lo escriba en esta línea 10? En teoría lo que hago es retornar un undefined, que es una representación de un valor no definido. Si borro la línea 10 del código, yo lo que me esperaría por lógica es que se retornase un null. Es decir, que se retornase una representación de un valor vacio.
1) ¿Por qué se retorna un undefined si yo no espero que la funcion me retorne un valor? No es más coherente que se retorne un null haciendo referencia a que no se retorna ningún valor en vez de hacer referencia a que se espera un valor que no se definió?
2) ¿Sirve el return de la línea 10 en este caso de algo? Es diferente al return implícito en la función al finalizar las instrucciones del cuerpo sin encontrarse ningún return? Si hago un break; tras el break se hace el return implícito? Es el return simplemente un break más eficiente o tiene alguna funcionalidad?
3) Es una buena práctica utilizar el undefined en un if como un false? Por ejemplo en la línea 15 podría poner if(!resultado){document.write("No se puede dividir");}