Características ECMAScript 6: parámetros por defecto de función.

Características ECMAScript 6: parámetros por defecto de función.

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)