Sintaxis de parámetro REST en JavaScript | Explicado con ejemplos

Sintaxis de parámetro REST en JavaScript | Explicado con ejemplos
Los parámetros de descanso ahora se están convirtiendo en una parte integral del desarrollo de JavaScript. A diferencia de otros idiomas, JavaScript: con el uso de parámetros de descanso, permite al usuario escribir tales funciones que puedan aceptar cualquier cantidad de argumentos y proporciona la facilidad para realizar acciones en esos argumentos.

Con la llegada de ES6, una ola de nuevas características alcanzó el lenguaje JavaScript, la mayoría de estas características eran completamente nuevas y las otras eran una alternativa eficiente a las soluciones ya existentes. El parámetro REST fue una de las nuevas características que se introdujo en la versión ES6 de JavaScript. Para cuando llegue al final de esta página, habría aprendido cuáles son el resto de los parámetros, cómo son diferentes de los argumentos normales y cómo usarlos junto con sus ejemplos.

Parámetros de descanso

Ya hemos mencionado lo que el Descansar Los parámetros son, pero si estamos hablando de comprender esta nueva característica, tendremos que entrar en un pequeño detalle. Los parámetros de descanso se definen cuando estamos escribiendo una función al igual que los parámetros normales. Pero, a diferencia de los parámetros normales, para definir un parámetro REST en JavaScript, debe usar un prefijo especial antes del identificador que es un triple punto (...). Los argumentos que se pasan en los parámetros se colocan juntos en un Formación.

La sintaxis para definir el parámetro REST es:

función functionIdidentifier (... argSidentifier) ​​
// cuerpo de la función

Nota: Parámetros de descanso almacenan los argumentos que se encuentran dentro de él en un Instancia de una matriz bajo el mismo identificador.

Reglas para definir los parámetros de descanso

Hay ciertas reglas que deben seguirse al definir el parámetro REST de una función. Estas reglas son realmente simples y si no se siguen, el programa resulta en un error:

  • Debe haber solo un parámetro de descanso en la función
  • El parámetro REST solo debe ser el último parámetro de la función

Discutamos los dos:

Debe haber solo un parámetro de descanso en la función

Una función no puede tener múltiples parámetros de descanso, porque los parámetros de descanso se utilizan cuando tiene un número no especificado de argumentos. El programa no puede diferenciar qué argumentos colocar en el primer parámetro REST y qué argumentos poner en el segundo parámetro de descanso.

Por ejemplo, tome las siguientes líneas de código e intente ejecutar el programa.

función linuxhint (... args, ... args2)
consola.Log ("Tutorial de insinuaciones de Linux")

Cuando intenta ejecutar el código, obtiene la siguiente salida.

El programa se bloquea en la definición de la función y sale de la ejecución con error Código 1(Crash inesperado)

El parámetro REST solo debe ser el último parámetro de la función

Similar al razonamiento de la última regla, un parámetro REST solo puede ser el último parámetro en la lista de parámetros de la función porque el programa no sabrá cuándo dejar de poner argumentos dentro del parámetro REST y pasar al siguiente parámetro. Esto se debe a que, por definición, el parámetro REST puede tomar una cantidad infinita de argumentos.

Por ejemplo, tome las siguientes líneas de código:

función LinuxHint (... args, var1)
consola.Log ("Tutorial de insinuaciones de Linux")
consola.Log (args)
consola.log (var1)

Linuxhint (1,2,2,3,3);

Cuando llamamos a la función, el programa no tiene idea de cuáles son nuestras intenciones. Tal vez queramos colocar los primeros 4 argumentos en el argumentos y el último en el var1; Dado que no es un error de sintaxis, no lo resalta por un editor de código (en la mayoría de los casos), sino cuando intenta compilar el programa, se bloquea en la definición de funciones, como:

El programa se bloquea en la definición de la función y sale de la ejecución con error Código 1.

Obtener datos de los parámetros de descanso

Como ya hemos mencionado anteriormente, los argumentos que se pasan dentro de los parámetros de descanso se almacenan en una matriz. Entonces, cuando desee usar los datos que se han pasado dentro del parámetro REST, puede hacerlo utilizando la forma en que usamos para acceder a los datos de la matriz. Primero creemos una función que acepte parámetros de descanso con las siguientes líneas de código:

función linuxhint (... args)
consola.log (args);

Tenemos una función que toma una cantidad no especificada de argumentos y luego imprime la matriz que almacena esos argumentos. Para ejecutar esta función, necesitamos llamar a esta función con la siguiente línea:

Linuxhint (1, 32, 3, 4, 3, 3, 123, 123, 123, 123);

Estamos pasando bastantes argumentos durante la llamada de función. Cuando ejecute el programa, obtendrá el siguiente resultado:

Desde la salida, podemos concluir claramente que los argumentos se están almacenando dentro de una instancia de matriz.

Cómo usar parámetros de descanso junto con argumentos normales?

Nosotros podemos usar descansar Parámetros junto con los argumentos normales también y para explicar esto vamos a imaginar un escenario.

Se realizó una prueba sorpresa en una clase y un número desconocido de estudiantes tomaron esa prueba. Las marcas totales de la prueba fueron 50 y cualquier estudiante menor de 15 ha fallado en la prueba.

Ahora, vamos a escribir un fragmento de código que tomará las marcas obtenidas por un número indefinido de estudiantes y nos dirá cuántos estudiantes fallaron esa prueba, pero el límite inferior de las marcas (por debajo del cual se considerará que los estudiantes han fallado esa prueba) también será una entrada que en este caso sería 15.

Entonces, primero, creemos una función que toma dos entradas, una es el límite de marcas inferiores y el otro sería un parámetro de descanso para las marcas obtenidas:

función failCounter (paseLiMit, ... Marks de estudiantes)
// comandos posteriores dentro de aquí

Como puede ver, tenemos dos argumentos: el pasatiempo y el marcas de estudiantes (REST PARAM).

Lo siguiente que necesitamos es una variable contraria que contará el número de estudiantes que fallaron la prueba, y podemos crearla usando la línea:

Estudentes fallidos = 0;

Lo siguiente es pasar por la matriz creada por el parámetro REST y comparar las marcas de cada estudiante con el límite de paso. Si las marcas obtenidas son más bajas que el límite de aprobación, entonces aumentamos la variable de contador en 1. Use las siguientes líneas de código.

para (deja i = 0; yo if (Students Marks [i] Estudentes fallidos ++;

El último paso sería mostrar la salida con las siguientes líneas de código:

consola.Registro ("Número de estudiantes que tomaron el examen:" + Marcas de estudiantes.longitud);
consola.Log ("Número de estudiantes que fallaron en la prueba:" + Estudentes fallidos);

Ahora que nuestra función está lista para ser utilizada, necesitamos llamarla y transmitir varios argumentos con el primero el límite de aprobación y el restante es las marcas de los estudiantes que usan la línea:

FailCounter (15,33,23,12,3,5,33,34,23,27,12,3,3,3,11,33,17,19,15,15,23,34,45,45, 47,23,19,9);

Nuevamente, el primer argumento es el límite de aprobación que hemos establecido 15.

El fragmento de código completo se ve como:

función failCounter (paseLiMit, ... Marks de estudiantes)
Estudentes fallidos = 0;
para (deja i = 0; yo if (Students Marks [i] Estudentes fallidos ++;


consola.Registro ("Número de estudiantes que tomaron el examen:"+ Marcas de estudiantes.longitud);
consola.Log ("Número de estudiantes que fallaron en la prueba:"+Estudentes fallidos);

FailCounter (15,33,23,12,3,5,33,34,23,27,12,3,3,3,11,33,17,19,15,15,23,34,45,45, 47,23,19,9);

Cuando ejecuta el código, obtiene la siguiente salida:

Nuestro programa se ejecuta sin problemas y sin ningún error, puede probar diferentes variaciones para que los argumentos dentro de él también. Eso es todo para el Parámetros de descanso.

Conclusión

Los parámetros de descanso se utilizan para aceptar un número no especificado de argumentos dentro de una función y luego poder realizar varias operaciones en esos argumentos. Otros idiomas generalmente no tienen esta característica, es por eso que JavaScript toma la ventaja. Echamos un vistazo a qué parámetros de descanso están en detalle, cómo funcionan y las reglas para definir estos parámetros de descanso junto con posibles errores que pueden ocurrir si no se siguen estas reglas. Por último, aprendimos a usar el Descansar Parámetro con un ejemplo.