Parámetros predeterminados en JavaScript | Explicado con ejemplos

Parámetros predeterminados en JavaScript | Explicado con ejemplos
Los parámetros definen los requisitos para invocar una función. A menudo, invocamos una función, pero extrañamos incorporar algunos argumentos necesarios para la salida, y la función JavaScript nos da un error o devuelve un valor NAN.

Para evitar este resultado indeseable, utilizamos parámetros predeterminados. Los parámetros predeterminados son los parámetros que han definido sus valores predeterminados en caso de que falten en la llamada de función de invocación.

Vamos a buscar un ejemplo en el que obtengamos un resultado no satisfactorio debido a los argumentos faltantes y luego lo arreglaremos utilizando parámetros tradicionales y predeterminados. Pero primero, aprendamos un poco más sobre los parámetros predeterminados.

¿Cuáles son los parámetros predeterminados?

En la versión ES6, JavaScript introdujo una característica de configurar los parámetros predeterminados. Al desarrollar una aplicación completa, generalmente queremos cubrir todos nuestros extremos que pueden devolvernos cualquier error. El tema de los argumentos faltantes en la llamada de la función invocación es una de esas esquinas y el parámetro predeterminado es la guardia que usamos para salvarnos de resultados no deseados.

Declarar los parámetros predeterminados es bastante fácil. Al definir el parámetro de la función, simplemente coloque el valor predeterminado después del "=" firmar. La sintaxis es como:

función functionIdidentifier (parameter = value)
// cuerpo de la función
;

Por ejemplo:

functionPrintName (FirstName, LastName = 'Doe')
consola.log (FirstName + " + LastName);

printname ('John');
printname ("John", "Who");

La salida de ambos comandos es como:

Para la primera llamada de función, utilizó el valor predeterminado "DOE" para el parámetro "LastName" y para el segundo usó ambos argumentos.

¿Cómo funcionan los parámetros predeterminados?

Usando la misma función que creamos en el ejemplo anterior, para el primer caso, cuando ambos argumentos están presentes, los valores dentro de la llamada de función se usan así:

Y para el segundo caso, en el que faltaba uno de los argumentos, la función utilizó el valor que definimos como el valor predeterminado dentro del parámetro como:

Por qué usar parámetros predeterminados

Por lo general, cuando no se pasa ningún argumento, el parámetro es "indefinido" por JavaScript. El enfoque tradicional o trivial para evitar una salida no deseada es verificar el parámetro en busca de un valor indefinido. El enfoque trivial se puede usar con las siguientes líneas de código para que una función agregue 2 números:

FunctionAdDnumbers (num1, num2)
if (num1 === Undefined)
num1 = 1;

if (num2 === Undefined)
num2 = 1;

return num1 + num2;

consola.log (addNumbers ());

A pesar de que no estamos aprobando ningún argumento al llamar a la función dentro del consola.registro() función, no recibiremos ningún error.

De hecho, la salida es como:

Como puede ver, también podemos manejar el tema de los argumentos que faltan como este. Sin embargo, ser un buen programador se trata de ser eficiente, y este enfoque trivial no es una solución eficiente.

Si tuviéramos que resolver el mismo problema utilizando los parámetros predeterminados, la solución sería mucho más concisa como:

función addNumbers (num1 = 1, num2 = 1)
return num1 + num2;

consola.log (addNumbers ());

Como puede ver, en lugar de escribir numerosas líneas, lo hicimos en una sola línea y la salida es exactamente la misma sin errores y no Yaya.

Usando el valor de parámetro predeterminado de un parámetro anterior

En ES6, puede establecer un parámetro predeterminado usando el parámetro antes. Esto se debe a que los parámetros se inicializan de izquierda a derecha. Dando como resultado el uso de parámetros definidos anteriormente en el valor predeterminado de los parámetros posteriores.

Por ejemplo, tome el siguiente fragmento:

función getSome (a, b = a * 2)
devolver a * b;

consola.log (getSome (2));

La función getSome () tomará 2 parámetros, si solo hay un argumento, asignará el segundo parámetro el doble del valor del primer argumento.

La salida es como:

Dado que los parámetros se inicializan de izquierda a derecha, si usamos un parámetro posterior como el valor predeterminado de un parámetro anterior, entonces dará como resultado un error.

Tome el siguiente código como ejemplo:

Función ErrorGen (a = b, b = 2)
devolver a + b;

consola.log (ErrorGen ());

Lo anterior cumplirá con un error ya que está tratando de acceder al parámetro "B" incluso antes de que se inicie.

La salida es como:

Usando funciones como valores en parámetros predeterminados

En ES6, incluso puede usar funciones como valores de parámetros predeterminados. Pruebe las siguientes líneas de código:

función calc (a, b = getValue (a))
devolver a + b;

función getValue (num)
devolución num * 2;

consola.log (calc (2));

Como puede ver, estamos dando la función GetValue (num) Como parámetro predeterminado para b y estamos pasando el parámetro a dentro de eso. El GetValue (num) Multitud el argumento que le pasó 2 y devuelve el valor. Por eso, cuando pasamos 2 dentro calc () Funciona como un solo parámetro Obtenemos lo siguiente:

Eso es todo para parámetros predeterminados en JavaScript.

Conclusión

En ES6, se introdujo una nueva característica que eran los parámetros predeterminados. Para evitar cumplir con un error debido a los argumentos faltantes, JavaScript agregó esta característica. Los parámetros predeterminados se utilizan para poner un valor predeterminado de un argumento al momento de escribir esa función. Aprendimos sobre los parámetros predeterminados, cómo podemos usar parámetros predeterminados para evitar resultados desfavorables y por qué debemos usar los parámetros predeterminados como reemplazo al enfoque tradicional/trivial junto con sus ejemplos.