Introducción
ECMAScript 6, también conocida como ECMAScript 2015, introdujo algunas funcionalidades interesantes. Hoy vamos a estudiar los parámetros por defecto de las funciones.
En Javascript, los parámetros de manera predeterminada, son undefined
.
function multiplicar(a,b) {
return a * b;
}
/*Aqui, al no pasar un segundo parámetro,
estamos multiplicamos 4 por undefined*/
console.log(multiplicar(4)); // NaN
Sin embargo, podemos especificar un valor por defecto a nuestro parámetro. De modo que si al llamar la función, no pasamos dicho parámetro, este tendrá valor especificado por defecto en lugar de undefined
.
Antes de esta característica, para conseguir este resultado era necesario probar los valores de los parámetros en el cuerpo de la función y asignarles un valor si eran undefined:
function multiplicar(a,b) {
b = (typeof b !== 'undefined') ? b : 1
return a * b;
}
multiplicar(5, 2) // 10
multiplicar(5) // 5
Sintaxis
function name (param,param2=valor){
declaracion;
};
Ejemplo de uso
function test(num = 1) {
console.log(typeof num)
}
test() // 'number' (num se establece en 1)
test(undefined) // 'number' (num se establece en 1 también)