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 x
es 3 y el valor predeterminado de y
es 5 .
sum(5, 15)
- Cuando se pasan ambos argumentos,x
toma 5 yy
toma 15 .sum(7)
- Cuando se pasa 7 a lasum()
función,x
toma 7 yy
toma el valor predeterminado 5 .sum()
- Cuando no se pasa ningún argumento a la función sum () ,x
toma el valor predeterminado 3 yy
toma el valor predeterminado 5 .

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
x
es 1 - El valor predeterminado de
y
se establece enx
parámetro - El valor predeterminado de
z
es la suma dex
yy
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. x
se convierte10
y sey
convierte en150
(la función de suma regresa15
).- El resultado será
160
.
Pasando valor indefinido
En JavaScript, cuando pasa undefined
a 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