Ya sabemos que las funciones en Javascript no son otra cosa que un objeto Function. El resultado de la evaluación del cuerpo de ese objeto es lo que en otros lenguajes llamamos el resultado de la ejecución de la función.
También sabemos que los “parámetros” del objeto Function son, a su vez, objetos. Esto es tan cierto que podemos pasar otra función (otro objeto Function) como parámetro.
Un pequeño inconveniente de esta falta de tipado es que si no pasamos ningún argumento la referencia al objeto pasado queda con el valor especial undefined. Para dar un valor por defecto al objeto pasado podemos hacer:
function myFunction(param) {
// comprobamos que el objeto param esté definido
if (param === undefined) {
param = 0; // le asignamos la primitiva int con valor cero
}
}
o bien, más corto:
function myFunction(param) {
param = param || 0;
}
Written with StackEdit.