Parámetros predeterminados de JavaScript

En este tutorial, aprenderá acerca de los parámetros predeterminados de JavaScript con la ayuda de ejemplos.

El concepto de parámetros predeterminados es una nueva característica introducida en la versión ES6 de JavaScript. Esto nos permite dar valores predeterminados a los parámetros de función. Tomemos un ejemplo

 function sum(x = 3, y = 5) ( // return sum return x + y; ) console.log(sum(5, 15)); // 20 console.log(sum(7)); // 12 console.log(sum()); // 8

En el ejemplo anterior, el valor predeterminado de xes 3 y el valor predeterminado de yes 5 .

  • sum(5, 15)- Cuando se pasan ambos argumentos, xtoma 5 y ytoma 15 .
  • sum(7)- Cuando se pasa 7 a la sum()función, xtoma 7 y ytoma el valor predeterminado 5 .
  • sum()- Cuando no se pasa ningún argumento a la función sum () , xtoma el valor predeterminado 3 y ytoma el valor predeterminado 5 .
Cómo funcionan los argumentos predeterminados en JavaScript

Usar expresiones como valores predeterminados

También es posible proporcionar expresiones como valores predeterminados.

Ejemplo 1: pasar parámetros como valores predeterminados

 function sum(x = 1, y = x, z = x + y) ( console.log( x + y + z ); ) sum(); // 4

En el programa anterior,

  • El valor predeterminado de xes 1
  • El valor predeterminado de yse establece en xparámetro
  • El valor predeterminado de zes la suma de xyy

Si hace referencia al parámetro que aún no se ha inicializado, obtendrá un error. Por ejemplo,

 function sum( x = y, y = 1 ) ( console.log( x + y); ) sum(); 
Salida
 ReferenceError: no se puede acceder a 'y' antes de la inicialización

Ejemplo 2: pasar el valor de la función como valor predeterminado

 // using a function in default value expression const sum = () => 15; const calculate = function( x, y = x * sum() ) ( return x + y; ) const result = calculate(10); console.log(result); // 160

En el programa anterior,

  • 10 se pasa a la calculate()función.
  • xse convierte 10y se yconvierte en 150(la función de suma regresa 15).
  • El resultado será 160.

Pasando valor indefinido

En JavaScript, cuando pasa undefineda una función de parámetro predeterminada, la función toma el valor predeterminado. Por ejemplo,

 function test(x = 1) ( console.log(x); ) // passing undefined // takes default value 1 test(undefined); // 1

Articulos interesantes...