Parámetro de función opcional de JavaScript
Inicializar el parámetro de función opcional hace que el código sea más fácil de implementar, mejora la legibilidad del código y simplifica el código sin errores ni repeticiones. Permite la personalización del código añadiendo numerosos argumentos y parámetros.
Este artículo discutirá cómo usar parámetros de funciones opcionales en JavaScript.
Parámetro de función opcional de JavaScript
Los parámetros son las definiciones utilizadas para definir funciones. En JavaScript, usamos dos parámetros principales en una llamada de función. Los parámetros obligatorios y opcionales.
Es imprescindible pasar los parámetros obligatorios; de lo contrario, arrojará un error. Devuelve indefinido
, pero en parámetros opcionales, cuando no se pasan parámetros o no definido, se inicializará al valor predeterminado.
Al declarar parámetros de función opcionales, podemos adoptar principalmente tres enfoques.
- Uso de propiedades indefinidas
- Usando Argumentos Variables
- Uso del operador lógico OR
Usar propiedad indefinida
Al llamar a funciones en JavaScript, podemos omitir parámetros y completar el resto de parámetros con el valor indefinido
.
Código:
function number(num1, num2) {
if (num1 === undefined) {
num1 = 2;
}
if (num2 === undefined) {
num2 = 2;
}
return num1 * num2;
}
console.log(number(5, 6));
console.log(number(5));
Producción :
30
10
En el fragmento anterior, la función number()
se llama dos veces. Al principio, pasaba dos parámetros para num1
y num2
a la función y asignaba solo un parámetro para num1
.
Aunque el código funciona bien y muestra la salida como 30
en la primera llamada, en la segunda llamada, establece el valor 10
después de considerar el valor dado como num1
. Cuando la función comprueba si la variable número
no está definida o no, el valor de num2
permanece como 2
.
Sin embargo, con este método, solo podemos hacer que el último argumento sea opcional y no hacer que el primero, el medio o la combinación de parámetros sean opcionales.
Usar variable de argumentos
Los argumentos son objetos incorporados en las funciones de JavaScript. Devuelve una matriz de parámetros cuando la función llama.
La longitud de esta matriz se refiere al número de parámetros pasados. Usando una declaración condicional, verifica la cantidad de parámetros pasados y pasa valores predeterminados en lugar de parámetros indefinidos.
Luego, podemos encontrar todos los parámetros mientras recorremos los objetos de argumento.
Código:
function number(num1, num2) {
if (arguments.length == 0) {
num1 = 1;
num2 = 2;
}
if (arguments.length == 1) {
num2 = 2;
}
return num1 * num2;
}
console.log(number(10, 15)); // first calling
console.log(number(10)); // second calling
Producción :
150
20
De acuerdo con el fragmento anterior, la función number()
verifica la cantidad de parámetros utilizados en la propiedad arguments.length
. Si el resultado es 0
, no se pasan parámetros a la función; si sale 1
, solo se pasa el parámetro num1
.
Después de eso, la función number()
se llama dos veces obteniendo dos y uno parámetros. Incluso en la primera llamada, funcionó bien y mostró la salida como 150
; en la segunda llamada, mostró el resultado como 20
después de asignar 2
para num2
ya que arguments.length
es igual a 1
.
Utilizar el operador lógico OR
(||
)
En este método, el parámetro opcional es lógico OR
(||
) con el valor predeterminado dentro del cuerpo de la función. Aquí, el operador O de cortocircuito devuelve “true” si el lado izquierdo del argumento izquierdo es “true”; de lo contrario, comprueba y devuelve true
si el argumento de la derecha es true
.
El uso del operador OR es un método simple para crear argumentos opcionales flexibles y legibles y permite una fácil gestión de parámetros opcionales. Además, False
, 0
, null
, undefined
, la cadena vacía " "
y NaN
son todos argumentos no válidos.
Código (primera llamada):
function multiply(num1, num2) {
var num3 = num2 || 2;
return num1 * num3;
}
console.log(multiply(10, 20));
Producción :
200
Código (segunda llamada):
function multiply(num1, num2) {
var num3 = num2 || 2;
return num1 * num3;
}
console.log(multiply(10));
Producción :
20
En el ejemplo anterior, ha declarado una función llamada multiplicar
con dos parámetros, num1
y num2
se llaman dos veces. Aquí, tenemos que llamar a las dos funciones por separado.
En la primera llamada, pasó dos parámetros y mostró el resultado como 200
, mientras que en la segunda llamada, solo pasó un parámetro y mostró el resultado como 20
. En la segunda llamada, como num2
no está definido, se asigna 2
en su lugar.
Al igual que en el método de propiedad indefinida, solo podemos hacer que el último argumento sea opcional y no hacer que el primero, el medio o la combinación de parámetros sean opcionales.
Conclusión
El parámetro de función opcional puede identificarse como una buena característica en JavaScript. Incluso el uso de parámetros opcionales funciona mejor para simplificar el código; es una funcionalidad poco utilizada.
Si queremos llamar a una función con frecuencia con los mismos valores para algunos parámetros, podemos evitar la repetición haciendo que esos parámetros sean opcionales. Para eso, podemos usar los métodos anteriores según la idoneidad.