¿Es típico que una function de Javascript devuelva un valor de indefinido intencionalmente?

Soy nuevo en Javascript y me pregunto si el retorno intencional de un valor indefinido de una function es una práctica común.

Por ejemplo, una function de divide () debe implementarse así:

var divide1 = function (x, y) { if (y === 0) { return undefined; } return x/y; }; 

¿o así?

 var divide2 = function (x, y) { if (y === 0) { throw new Error("Can't divide by 0"); } return x/y; }; 

Supongo que devolver indefinido normalmente se reserva para funciones sin valores de retorno (equivalente de vacío en Java o C #).

Es el pnetworkingeterminado:

 function foo() {} console.log(foo()); 

Pero resultó que no es una buena opción. El código que puede ejecutarse en un estado excepcional no debe hacerlo en silencio. Muchos errores en JavaScript se escapan por las grietas porque el código no se rompe violentamente cuando algo sale mal.

Entonces, a less que seas un desarrollador excepcional y puedas garantizar que todos los que toquen este código estén en el mismo nivel y nunca cometas errores, puedes regresar undefined . Yo mismo lanzaría una exception.

Resulta que no soy un desarrollador lo suficientemente bueno 🙂

Supongo que devolver indefinido normalmente se reserva para funciones sin valores de retorno (equivalente de vacío en Java o C #).

Como en Java o C #, también puede escribir return; .

Estas tres funciones están devolviendo lo mismo:

 function VOID () { return; } function VOID () { return undefined; } function VOID () { }