elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [javascript] Opinion sobre este código? return en función.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [javascript] Opinion sobre este código? return en función.  (Leído 2,420 veces)
@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.397


Turn off the red ligth


Ver Perfil WWW
[javascript] Opinion sobre este código? return en función.
« en: 4 Octubre 2019, 04:11 am »

Código
  1. function dividir(num1, num2)
  2. {
  3.  
  4.   if ( num1 !=0 && num2 !=0 && num1>=num2)
  5.   {
  6.   return num1/num2;
  7.   }
  8.  
  9.  
  10. return;
  11. }
  12.  
  13. var resultado = dividir(parseInt(prompt("Pon Numero")), parseInt(prompt("Pon Numero")));
  14.  
  15. if(resultado)
  16. {
  17. alert(resultado);
  18. }
  19.  
  20. else
  21. {
  22. alert("No se puede dividir");
  23. }

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");}


En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: [javascript] Opinion sobre este código? return en función.
« Respuesta #1 en: 6 Octubre 2019, 08:23 am »

Citar
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ó?

Retorna undefined porque no se ha definido qué retornar. Puedes intentar discutirlo con quien pensó que seria buena idea hacerlo así.. pero la verdad es que poco vas a hacer xD.


Citar
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??

No creo que sea diferente. Y tampoco sirve. Yo creo que deberias devolver null. No se hace un return implícito, simplemente se continua ejecutando el código hasta que decide que no hay nada que retornar.


Citar
Es el return simplemente un break más eficiente o tiene alguna funcionalidad?

break y return son cosas diferentes. Si, puedes usar return en vez de break, pero no puedes compararlos pues tienen una funcionalidad diferente.


Citar
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");}

Ten cuidado.

Código
  1. console.log(undefined == false); // false
Código
  1. console.log(!undefined); // true

https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3

Saludos


« Última modificación: 6 Octubre 2019, 08:24 am por #!drvy » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Opinion sobre este sobremesa...
Dudas Generales
Fischer987 6 3,359 Último mensaje 23 Mayo 2010, 23:38 pm
por Fischer987
Opinión sobre mi código (trigonometría)
Programación Visual Basic
Kraiback 1 1,620 Último mensaje 22 Mayo 2016, 18:13 pm
por AlbertoBSD
Opinion sobre este loader
Ingeniería Inversa
d0x1s 0 2,514 Último mensaje 19 Mayo 2019, 17:40 pm
por d0x1s
C++ - Opinión sobre código; tienda básica
Programación C/C++
Clerning 2 5,118 Último mensaje 11 Enero 2021, 03:07 am
por Clerning
Consejo u opinion sobre este pc gaming 2000€ aprox.
Hardware
Neron1212 1 1,617 Último mensaje 2 Marzo 2023, 09:30 am
por alex escolano
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines