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 yytoma 15 .sum(7)- Cuando se pasa 7 a lasum()función,xtoma 7 yytoma el valor predeterminado 5 .sum()- Cuando no se pasa ningún argumento a la función sum () ,xtoma el valor predeterminado 3 yytoma 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 enxparámetro - El valor predeterminado de
zes la suma dexyy
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 convierte10y seyconvierte en150(la función de suma regresa15).- 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








